Laravel查询生成器查询


Laravel Query Builder Query

我想做一个类似的查询

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

我尝试了以下查询,但它返回了所有带有status = 8 的记录

Batch::where('id', 20)->where('status','3')->orwhere('status','8');

我犯了什么错误?

提前感谢!

您可以使用whereIn

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

您可以使用Advanced Wheres

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