我正在尝试使用Laravel-5构建搜索查询,但我似乎生成了错误的sql。
这是我正在使用的代码:
BookingDates::where('status', 'Booked')->where('email', Input::get('email'))->where('name', 'like', '%' . Input::get('name') . '%')->where('date', $date)->get();
但有时用户可能不会提供电子邮件。发生这种情况时,应省略查询的这一部分(where('email', Input::get('email'))
)。例如,如果他们没有提供电子邮件,则会运行该查询:
BookingDates::where('status', 'Booked')->where('name', 'like', '%' . Input::get('name') . '%')->where('date', $date)->get();
使用Laravel-5有一种简单/漂亮的方法吗?
感谢。
答案 0 :(得分:0)
您可以在单独的步骤中构建查询:
$query = BookingDates::where('status', 'Booked')
->where('name', 'like', '%' . Input::get('name') . '%')
->where('date', $date);
if($email = Input::get('email')){
$query->where('email', $email);
}
$result = $query->get();