Eloquent Model 如何实现的 多个条件的同时查询?

场景:前端有多个输入框,每个输入框可能会存在数值

需求:根据输入框的内容进行查询。如果多个输入框都有内容,同时使用所有的条件进行查询。如果只有一个输入框有内容,只使用一个条件。

问题所在:由于存在1对多关系,在查询时使用了with,无法使用DB来查询。

我之前使用db来处理。但是DB查询无法使用with。

$user = DB::table('users');
if(xxx){
$user->where(xxx);
}
if(yyy){
$user->where(yyy);
}

$user->paginate(15);

使用Eloquent Model的话,where没有效果

$user = new  User();

if(xxx){
$user->where(xxx);
}
if(yyy){
$user->where(yyy);
}

$user->paginate(15);

希望:
可以给出示例代码,或相关文档说明。

那你可以这个样子:

$conditions = [
            ['status', '=', '1'],
            ['subscribed', '<>', '1'],
        ];
$users = User::where($conditions)->get();

根据条件去更新 $conditions 数组就好了

JellyBool
修改的评论也不能少于六个字哦!
bestony 回复 JellyBool
修改的评论也不能少于六个字哦!
JellyBool 回复 bestony
修改的评论也不能少于六个字哦!