php laravel中的多个AND条件,值为null或非null

hc8w905p  于 2023-04-04  发布在  PHP
关注(0)|答案(1)|浏览(140)

select * from users where id=1 AND id=2 AND id=3
如果(id =1)未找到或为空,则它应该使用另外两个AND条件来获取数据。
例如,从id=2且id=3的用户中选择 *。
我怎么能在Laravel中做到这一点。请帮助
我已经在sql server中完成了如下操作,但我不能在laravel中完成
@var=null
select * from users where(id=1 OR @var is null)AND(id=2 OR @var is null)AND(id=3 OR @var is null)

wixjitnu

wixjitnu1#

如下所示:

$users = User:where(function($query) {
    $query->where('id', 1)->orWhereNull('var');
})->where(function($query) {
    $query->where('id', 2)->orWhereNull('var');
})->where(function($query) {
    $query->where('id', 3)->orWhereNull('var');
})->get()

相关问题