如何在 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+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告