Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何将SQL查询重写为Laravel_Mysql_Laravel - Fatal编程技术网

Mysql 如何将SQL查询重写为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.'%')

我需要用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.'%')
    ->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
,这在实际应用中可能是非常无害的。这会向其他用户显示问题已解决。