如何在Laravel中处理Multiple Orwhere

时间:2015-11-03 13:24:27

标签: php sql laravel-5

我在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)来查看查询的树,我注意到第一个在哪里使用代替。这是树:enter image description here

所以,我有下一个: where1和where2或where3或where4

我希望: where1和(where2或where3或where4) 所以,我该怎么做?谢谢!

1 个答案:

答案 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);
});