**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
两年前关门了。
改进这个问题
我正在尝试使用查询生成器为搜索添加条件。因此,如果访问权限为1,则添加此“where”,否则添加另一个“where”。但要做到这一点,我必须重复相同的代码,并更改位置。我是这样做的:
if(access==1){
$search = DB::table('users')
->select('name')
->where('case',$x)
->get();
} else {
$search = DB::table('users')
->select('name')
->where('case',$y)
->get();
}
我只想做这样的事
search = DB::table('users')
->select('name');
if(access==1){
$search->where('case',$x);
} else {
$search->where('case',$y);
}
$search->get()
我已经简化了我的例子,但这里我还有其他的例子。所以也许有办法做我想做的,但我不知道怎么做。
3条答案
按热度按时间nvbavucw1#
你的第二个例子是正确的想法(尽管它有一堆拼写错误,例如使用
=
而不是==
).作为另一种选择,laravel还支持类似以下内容的内置条件where子句:
7kjnsjlb2#
如果只有两种情况,可以简单地使用:
68bkxrlz3#
您需要将结果分配给
$search
变量和替换=
由==
当然,如果您的真实代码比较困难: