gpt4 book ai didi

php - 处理 Laravel 数据库查询中的空值?

转载 作者:可可西里 更新时间:2023-11-01 07:48:16 25 4
gpt4 key购买 nike

我发现我经常需要根据 id 以外的条件来选择字段。

因此,$user = User::where('last_login', $lastLogin)->where('last_warning', $lastWarning)->get(); 完美运行。

直到您将其中一个位置设置为允许空值(让我们执行 last_login)。

也就是说,它可以有一个值或为空。

这意味着您需要使用两个函数之一 where()whereNull() 并且要做到这一点您需要打破链条,所以它变成了

$user = User::where('last_warning', $lastWarning);

is_null($lastLogin) ? $user->whereNull('last_login') : $user->where('last_login', $lastLogin);

$user = $user->get();

我想知道 where 是否有办法处理这个问题?目前,如果您将 null 传递到您得到 where column = null 的地方,这是行不通的!

最佳答案

两种选择:

选项 1:

if (is_null($lastLogin))
{
$user = User::whereNull('last_login')->where('last_warning', $lastWarning)->get();
}
else
{
$user = User::where('last_login', $lastLogin)->where('last_warning', $lastWarning)->get();
}

选项 2:

$user = User::where('last_login', (is_null($lastLogin) ? 'IS' : '=') ,$lastLogin)->where('last_warning', $lastWarning)->get();

选项二使查询“where last_login = x” 或“where last_login IS null

关于php - 处理 Laravel 数据库查询中的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14982047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com