Mysql 如何将SQL查询重写为Laravel
我需要用Laravel写这个查询Mysql 如何将SQL查询重写为Laravel,mysql,laravel,Mysql,Laravel,我需要用Laravel写这个查询 Select * From table Where (column1 like '%value%' or column2 like '%value%') and column3 > 0 我该怎么做呢?我假设模型类是User: User::where(function($query) use ($value1, $value2) { $query->where('column1', 'like','%'.$value1.'%')
Select *
From table
Where (column1 like '%value%' or column2 like '%value%')
and column3 > 0
我该怎么做呢?我假设模型类是
User
:
User::where(function($query) use ($value1, $value2) {
$query->where('column1', 'like','%'.$value1.'%')
->orWhere('column2', 'like', '%'.$value2.'%');
})->where('column3','>', 0)
->get();
这就是你在雄辩的中使用括号的方式
Model::where('column3','>'0)
->where(function($result,$value1,$value2) {
$result->where('column2' ,'LIKE','%'.$value2.'%')
->orWhere('column1' ,'LIKE','%'.$value1.'%');
})->get(); //for multiple data
类::where('column1',$value1)->或where('column2',$value2)->和where('column3','>',0)->get()@那不管用。检查答案iposted@N69S我不是100%确定,谢谢你的澄清。请将代码格式化为代码(而不是普通文本)。它将生成无效的query@MarcinNabiałek你怎么能说这是不幸的事实。如果您没有像第一个答案中显示的那样用额外的where子句包装第一个where和orWhere,它将生成查询where A或B和C
,而不是where(A或B)和C
,这在实际应用中可能是非常无害的。这会向其他用户显示问题已解决。