Laravel检查日期是否在2个日期之间。

时间:2017-11-09 22:30:05

标签: php laravel datetime

我想检查今天的日期是否存在于日期之间 数据库。现在我用laravel雄辩:

 return Set::where('type', $type)
            ->where('active_from', '<=', date("Y-m-d"))
            ->where('active_until', '>=', date("Y-m-d"))
            ->first();

这是对的吗?

1 个答案:

答案 0 :(得分:10)

假设active_fromactive_until仅包含日期正确,但如果它们包含有时间的日期,则应该使用whereDate代替where这样:

return Set::where('type', $type)
            ->whereDate('active_from', '<=', date("Y-m-d"))
            ->whereDate('active_until', '>=', date("Y-m-d"))
            ->first();

此外,查看代码我非常确定您应该以另一种方式使用运算符:active_from应该是>=active_until应该是<= < / p>