如果请求不是Eloquent中的null语句

时间:2018-08-22 15:50:12

标签: php laravel

仅在存在请求时如何在查询中执行语句? 示例:$ request-> type(如果为NULL,则在所有地方搜索,如果不检查则仅检查到达的地方)

$flights = App\Flight::where('active', 1)
               ->orderBy('name', 'desc')
               ->if($requst->type = NULL) return all; else { ->where('type', $request->type)
               ->get();

谢谢您的帮助! :)

1 个答案:

答案 0 :(得分:3)

您可以像这样拆分代码以重新分配查询

$flights = App\Flight::where('active', 1)
               ->orderBy('name', 'desc');
if($requst->type != NULL) {
    $flights = $flights->where('type', $request->type);
}
return $flights->get();