为什么我的Laravel收藏不能按日期正确过滤?
我除了第一where
为什么我的Laravel收藏不能按日期正确过滤?
$dt = Carbon::now();
$b4 = Carbon::now()->addWeeks(12);
Event::orderBy('date', 'desc')
->where('date', '<', $b4)
->where('ends', '>=', $dt)
->orWhere('date', '>=', $dt)
->take(3)
->get();
所有过滤器工作。我首先尝试了orWhere
,没有骰子。它显示的日期在2018年8月。帮助?
我认为你需要将你的查询分组即可。
$dt = Carbon::now();
$b4 = Carbon::now()->addWeeks(12);
Event::orderBy('date', 'desc')
->where(function ($query) use ($dt, $b4) {
$query->where('date', '<', $b4->format('Y-m-d'))
->where('ends', '>=', $dt->format('Y-m-d'));
})
->orWhere('date', '>=', $dt->format('Y-m-d'))
->take(3)
->get();
李,我在第二个方法(首先在函数中)预先给了什么?我不能跑(没什么) - > – user163831
对不起,我有一个错字。请再看一下。但不知道你的意思是什么?没有任何查询。它封闭了前两个小组。如果没有,则返回到orWhere查询。 – Lee
oh $查询当然对不起 – user163831
你能写,你想拥有的SQL查询?我看到你用这段代码得到的结果没有错。 –
从现在开始的12个星期将是2月份,所以8月份超出了我的指定范围。 – user163831