我需要从数据库中获取数据,但仅当returndate列表示将来的日期时。当我从db执行sql查询时,它的工作sql代码是:
SELECT * FROM `injuries_suspensions` WHERE `Type` = 'injury' and NOW() < `ReturnDate`
但是当我在laraveldb query builder中使用类似的版本时,我不会得到任何数据(当我用now()擦除where时,我会得到所有数据,所以这就是问题所在)
车道代码:
$injuries = DB::table('injuries_suspensions')->where('Type', '=', 'injury')->where(DB::raw('NOW()'), '<', 'ReturnDate')->get();
p、 db中的s日期是遥远的未来2020-11-30。
1条答案
按热度按时间cqoc49vn1#
你想用简化版吗
whereRaw
取而代之的是:观察结果是,您没有正确地使用whereraw:all应该在一个字符串中参见laravel的示例。
您还可以在构建查询时直接传递时间戳/日期,请参见:
注意你的数据库和服务器的时区差异。