【发布时间】:2017-01-10 01:59:11
【问题描述】:
我尝试了高级 where 子句
我的模型有 2 个日期时间列 start 和 end
请求有两个值date_start, date_end
我的代码
->where(function($q) use ($date_start,$date_end) {
$q->where('start','>=',$date_start)
->where('end','<=',$date_start)
->where('start','>=',$date_end)
->where('end','<=',$date_end);
})
->first();
代码什么也没返回,但在表中有一条记录, 根据要求合适的值。怎么了?
【问题讨论】:
-
记录的开始值和结束值是什么,您传入的开始值和结束值是什么进行比较?
-
您对这种情况有何期望?我认为只有当您的记录在数据库中的开始日期 >= 结束日期且 $date_start 和 $date_end 在 [end, start] 范围内时,它才能匹配条件
-
如果您要比较日期,您可能需要使用
whereDate
标签: laravel laravel-5.2 laravel-query-builder