【发布时间】:2018-02-07 17:33:09
【问题描述】:
我已使用以下查询在我的控制器中获取带有一些代码的结果
$events = Event::whereHas('topic', function ($q) {
$q->where('delete_status', 0);
})
->where('status', 1)
->where('delete_status', 0);
在我的视图文件中,我已经三次使用这个变量来检查日期,如下所示
$events->where('type', '!=', 2)->whereDate('start_date', '>=', \Carbon\Carbon::now())->get()
还有
$events->where('type', 2)->whereDate('start_date', '>=', \Carbon\Carbon::now())->get()
还有
$events->whereDate('start_date', '<', \Carbon\Carbon::now())->get()
因为我想根据过去日期或现在日期获得结果。如果我在控制器查询中使用 get,我会收到 whereDate() 不存在的错误 所以我在视图文件中使用了 get() 方法。
我无法从第二个和第三个查询中获取记录,但我只能从视图文件中的第一个查询中获取记录。
有什么办法吗?
【问题讨论】:
-
你为什么使用
->whereDate('start_date', '>=', \Carbon\Carbon::now())->get()。你可以使用->whereDate('start_date', '>=', \Carbon\Carbon::now()); -
试过
whereDate('start_date', '>=', date('Y-m-d'))? -
@HirenGohel 正如我在我的问题中提到的,如果我这样使用,我会遇到 whereDate() 不存在的方法错误
-
是的,但它不起作用@linktoahref
标签: laravel