Hai*_*ood 3 php mysql null laravel laravel-4
我发现我经常需要根据id以外的条件选择一个字段.
所以,$user = User::where('last_login', $lastLogin)->where('last_warning', $lastWarning)->get();完美的工作.
直到你设置其中一个允许空值(让我们这样做last_login).
也就是说,它可以具有值或为null.
这意味着你需要使用两个函数中的一个,where()或者whereNull()要做到这一点,你需要打破链,所以它变成了
$user = User::where('last_warning', $lastWarning);
is_null($lastLogin) ? $user->whereNull('last_login') : $user->where('last_login', $lastLogin);
$user = $user->get();
Run Code Online (Sandbox Code Playgroud)
我想知道是否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();
}
Run Code Online (Sandbox Code Playgroud)
选项2:
$user = User::where('last_login', (is_null($lastLogin) ? 'IS' : '=') ,$lastLogin)->where('last_warning', $lastWarning)->get();
Run Code Online (Sandbox Code Playgroud)
选项二使查询' where last_login = x'或' where last_login IS null'
| 归档时间: |
|
| 查看次数: |
20640 次 |
| 最近记录: |