如何在 Eloquent 中檢查欄位是否不為 NULL?


在 Eloquent 模型中,您可以使用 **whereNotNull()** 方法從資料庫獲取非空值。

示例 1

在這個例子中,我們檢查欄位 **remember_token** 是否不為 NULL。

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller{ public function index() { $users = User::whereNotNull('remember_token')->get(); foreach($users as $user) { echo $user->name."<br/>"; } } }

輸出

以上程式碼的輸出為:

Siya Khan
Heena Khan
Seema

以上程式碼的 SQL 查詢為:

SELECT *
FROM users
WHERE remember_token IS NOT NULL;

輸出

以上程式碼的輸出為:

示例 2

使用 DB facade,您可以執行以下相同的操作:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class UserController extends Controller{ public function index() { $users = DB::table('users') ->whereNotNull('remember_token') ->get(); foreach($users as $user) { echo $user->name."<br/>"; } } }

輸出

以上程式碼的輸出為:

Siya Khan
Heena Khan
Seema

示例 3

**whereNull()** 方法可以幫助您獲取值為 NULL 的欄位。在 Eloquent 模型中,示例如下:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller{ public function index() { $users = User::whereNull('remember_token')->get(); foreach($users as $user) { echo $user->name."<br/>"; } } }

輸出

以上程式碼的輸出為:

Neha Singh
d7jhMWRMQe
k118AjAswp
7ZH2Vk0TAp
w8QSXDIBVU
feO56tC0sO
MntJcvWT2L
RANLQbtj44
bben5rsdVv

示例 4

對於 DB facade,**whereNull()** 方法的使用如下:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class UserController extends Controller { public function index() { $users = DB::table('users') ->whereNull('remember_token') ->get(); foreach($users as $user) { echo $user->name."<br/>"; } } }

輸出

以上程式碼的輸出為:

Neha Singh
d7jhMWRMQe
k118AjAswp
7ZH2Vk0TAp
w8QSXDIBVU
feO56tC0sO
MntJcvWT2L
RANLQbtj44
bben5rsdVv

更新於:2022年8月30日

5000+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.