我想做一个类似的查询
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();