laravel where orwhere的写法

$model = Model::where('id','=',$id)
    ->where(function($query){
        $query->where('status','<','1')
            ->orWhere(function($query){
                $query->where('status', '2');
            });
    })->first();


这一段其实执行的就是

where id = $id AND (status < 1 OR status = 2)

如果遇到function里需传递变量是  写方法应为


 

$model = Model::where('id','=',$id)
    ->where(function($query)use ($a){
        $query->where('a',$a);
        $query->where('status','<','1')
            ->orWhere(function($query){
                $query->where('status', '2'); 
            }); 
    })->first();

 

你可能感兴趣的:(laravel查询)