【发布时间】:2017-03-01 15:45:56
【问题描述】:
我的数据库 (MySQL) 有一个created_at 的时间戳字段。
我有两个条目,时间戳如下:
- 2017-12-12 18:25:00
- 2016-10-02 18:00:00
今天是 2016 年 10 月 19 日(供将来参考)。如果我使用以下查询,我不会得到任何结果:
$job = $jobs->where('closing_at', '>=', 'NOW()')
->orderBy($sorter[0], $sorter[1])->paginate(24);
如果我硬编码日期,我会得到正确的结果,只是一个未来的日期:
$job = $jobs->where('closing_at', '>=', "2016-10-19 00:00:00")
->orderBy($sorter[0], $sorter[1])->paginate(24);
我假设我的错误是在使用 Eloquent 查询构建器时使用 NOW(),但我无法弄清楚使用它的正确方法。
【问题讨论】:
-
DB::raw 或 whereRaw 应该可以帮助你laravel.com/docs/5.3/queries#raw-expressions
-
我猜你需要 \Carbon::now() 而不是 NOW()
-
使用日期("Y-m-d H:i:s") 或 \Carbon::now()
-
嘿,我也想知道同样的事情,原来你可以使用 \DB::raw('now()')