【发布时间】:2017-08-20 16:04:26
【问题描述】:
我有一个包含两个日期的表:start_date 和 end_date。这两列都是字符串。当我尝试查询以比较这些日期的记录时,Laravel 将它们视为字符串,而不是日期。
例如,对于这个查询:
Schedule::whereDate('start_date','<=',date('m/d/Y'))->whereDate('end_date','>=',date('m/d/Y'))->get();
没有返回结果,这是不正确的。
有什么想法吗?或者任何其他比较字符串日期的方法?
谢谢。
【问题讨论】:
-
为什么列是字符串?您必须进行字符串比较,这可能不会有用。你将不得不在 mysql 或 laravel 中做一些令人讨厌的诡计来完成这项工作。我会看看我是否能找出一个例子,但真正的解决方案是将字符串转换为日期。
-
不确定为什么它们没有被创建为日期时间,但这就是我目前所拥有的。我希望可以选择将字符串查询为日期。
标签: php mysql laravel date laravel-5.2