我使用GET来收集变量:
$subid = $_GET['subid'];
在我的数据库查询中,我有以下内容:
->where('subID', '=', $subid)
现在,如果变量$ subid为空,则结果不返回任何信息。如何在查询中指定变量$ subid是空白还是空,返回所有结果?
答案 0 :(得分:3)
您可以使用when
。
->when($subid, function ($query) use ($subid) {
return $query->where('subID', '=', $subid);
})
如果$ subid为false,则where条件不会应用于查询。
查看文档https://laravel.com/docs/5.2/queries#conditional-statements
<强>更新强>
您可以在if
调用中使用的任何表达式都可以用作when
一个例子:
->when($fromDate && $toDate, function($query) use ($fromDate, $toDate) {
return $query->whereBetween('CompletedDate', array($fromDate, $toDate));
})
答案 1 :(得分:0)
您可以使用Duplicate:
nvl(to_char(min(case EventType
when 'start' then
dates
end),'mm/dd/yyyy hh24:mi'),' -')