我正在尝试使用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有没有简单/漂亮的方法来做这件事?
谢谢。
发布于 2015-06-11 02:16:53
您可以在单独的步骤中构建查询:
$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();https://stackoverflow.com/questions/30763883
复制相似问题