我有3个输入(id,city,amount)用于过滤器和结果表。
如果没有任何要求,我需要查询Model::all()->paginate(10)
。
如果$request->id
不为null,则需要查询Model :: where('id',$ request-> id)-> paginate(10)。
如果$request->id and $request->city and $request->amount
不为空,我需要查询
Model::where(['id' => $request->id, 'city' => $request->city...])->paginate(10)
我该怎么做?
答案 0 :(得分:0)
我会这样做:
$hasId = $request->has('id') && ! empty($request->id)
中的每个请求变量where
语句,例如:$model = New Model();
if ($hasId) {
$model->where('id', $id);
}
...
口才使用Fluent,因此您不必将其分配回来,只需像在明天一样将其附加在语句上即可。