【发布时间】:2019-08-12 05:36:40
【问题描述】:
只有当我正确填写所有字段时,此搜索才对我有效。我的愿望是,当我只填写一个字段时,我将排除仅与该字段相关的结果。 例如,如果我只用“奥迪”填写“标记”字段,则得到我的标记名称。我的函数目前只有在所有字段都填满时才返回结果。如果我填写一个字段,它会返回一个空数组。另外,我不确定这个函数是否写得好,我按照教程进行操作。看代码:
public function searchFilterCar(Request $request, Car $car){
if($request->has('car_type')){
if($request->has('mark')){
if($request->has('model')){
if($request->has('fuel')){
if($request->has('circuit')){
return $car->where('car_type', $request->input('car_type'))
->where('mark', $request->input('mark'))
->where('model', $request->input('model'))
->where('fuel', $request->input('fuel'))
->where('circuit', $request->input('circuit'))
->get();
}
}
}
}
}
}
【问题讨论】:
-
把每个
->where分开,放到相关的if条件下。最后打电话给$car->get()。
标签: php mysql laravel search eloquent