我目前在我的表格中有两列名称为 uploadDate 和 uploadTime 。我有这样一个条款:
->orWhere('uploadDate', 'like', '%' . $request->search . '%')
->orWhere('uploadTime', 'like', '%' . $request->search . '%');
问题是如果 $ request-> search = yyyy-mm-dd,hh:mm:ss ,我的网络应用无法获得任何结果,因为uploadDate和uploadTime是分开的DB上的列。有没有人有办法创建一个或者语句来整合 uploadDate 和 uploadTime ?
,我知道只需在数据库中创建一个合并两列的单个列就可以轻松实现这一点,但我只是想在这一点上寻找更简单的方法,哈哈哈。答案 0 :(得分:1)
如果您想要按照确切的日期和时间查找记录,则不应在此使用like
或orWhere()
。
->where('uploadDate', str_before($request->search, ','))
->where('uploadTime', str_after($request->search, ', '))
如果您在查询中有其他where()
或orWhere()
条款,则可以执行以下操作:
->where([
'uploadDate', '=', str_before($request->search, ','),
'uploadTime', '=', str_after($request->search, ', ')
])