Laravel查询生成器查询

时间:2015-11-17 06:14:44

标签: php laravel laravel-5 query-builder

我想像这样进行查询

SELECT * FROM batches WHERE id = 20 AND status = 3 OR status = 8

我尝试了以下查询,但它使用status = 8

返回了所有记录
Batch::where('id', 20)->where('status','3')->orwhere('status','8');

我犯了什么错误?

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以使用whereIn

Batch::where('id', 20)->whereIn('status', [3,8]);

答案 1 :(得分:1)

您可以使用Advanced Wheres

 Batch::where('id', 20)->where(function($query) use ($staus){
       foreach($status as $stat){
           $query->orWhere('status','=',$stat);
       }
 })->get();