我在Laravel 5工作,并且正在使用 Orwhere clausule,我的代码咨询是:
$estudiantes= Usuario::
where('rol', '=', 'ESTUDIANTE')
->whereHas('perfil', function($query) use ($data){
if($data!="")
$query->Where('doc_identidad', '=' ,$data)
->orWhere('nombres','like','%'.$data.'%')
->orWhere('apellidos','like','%'.$data.'%');
dd($query);
})->get();
所以,我想要使用rol ESTUDIANTE 过滤每个 Usuario 非常正常,然后我想过滤哪些 doc_identidad 或者 nombres 或 apellidos 就像你看到的那样,我有一个dd($query)
来查看查询的树,我注意到第一个在哪里使用和代替或。这是树:
所以,我有下一个: where1和where2或where3或where4
我希望: where1和(where2或where3或where4) 所以,我该怎么做?谢谢!
答案 0 :(得分:2)
where1(a = 1)和(where2(b = 1)或where3(c = 1)或where4(d = 1))
Model::where(function ($query) {
$query->where('a', '=', 1);
})->where(function ($query) {
$query->where('b', '=', 1)
->orWhere('c', '=', 1)
->orWhere('d', '=', 1);
});