我必须从日期列大于今天的数据库中提取结果(基本上我需要查看即将发生的事件)。
在现实世界中,我在我的 MySql 控制台中玩游戏:
select * from searcheable where MATCH (title,description) AGAINST ('rock' IN BOOLEAN MODE) and date > CURDATE() order by date asc
而且效果很好。
我正在尝试使用 Laravel 以 Eloquent 方式提取相同的数据,我写道:
$results = Search::search($key)
->whereDate("date",">",' CURDATE()')
->orderBy("date",'asc')
->paginate();
但它会返回错误日期的错误结果。
请注意,我使用的搜索 方法是针对全文的。我认为这不是问题所在。
如果我进行调试并使用 dd($results) 打印 sql,它会返回:
select * from `searcheable` where MATCH (title,description) AGAINST (? IN BOOLEAN MODE) and date(`date`) > ? order by `date` asc
这与我正在处理的起始查询非常相似。
我 Eloquent 查询有什么问题?
感谢您的宝贵时间:)
最佳答案
这样试试
->whereDate("date",">", now());
now()
将返回一个 Carbon DateTime 实例,该实例将自动转换为适当的格式
关于mysql - 使用日期过滤器的 Laravel Eloquent 查询中的错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56169924/