基于Laravel5中传递的参数的多个Where子句
我想在我的控制器中实现此查询的功能基于Laravel5中传递的参数的多个Where子句,laravel,laravel-5,Laravel,Laravel 5,我想在我的控制器中实现此查询的功能 select * from table where true if($param1 != ""){ and table.column1 = '$param1' } if($param2 != ""){ and table.column2 = '$param2' } 到目前为止,我所尝试的是 function seachpullethouse(Request $request){ $searchcode = $request->code;
select * from table where true
if($param1 != ""){
and table.column1 = '$param1'
}
if($param2 != ""){
and table.column2 = '$param2'
}
到目前为止,我所尝试的是
function seachpullethouse(Request $request){
$searchcode = $request->code;
$mpullethouse = DB::table('mpullethouses')->query();
if(!empty($searchcode)){
$query ->Where('mpullethouses.code','like','%'.$searchcode.'%');
}
$query ->select('mpullethouses.*')->get();
return response()->json(['mpullethouse'=>$mpullethouse]);
}
但这似乎是错误的…请任何人帮我一下好吗??。你可以在的时候使用
public function seachpullethouse(Request $request)
{
$searchcode = $request->code;
$mpullethouse = DB::table('mpullethouses')
->when($searchcode, function ($query) use ($searchcode) {
return $query->where('code', 'like', "%{$searchcode}%");
})
->get();
return response()->json(['mpullethouse' => $mpullethouse]);
}
有关更多信息,请查看Thx bro..U save my day:)