gpt4 book ai didi

php - Laravel 5 查询生成器和 NOW() 用于日期比较

转载 作者:可可西里 更新时间:2023-11-01 06:42:30 24 4
gpt4 key购买 nike

我的数据库 (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);

如果我对日期进行硬编码,我会得到正确的结果,只是一个 future 的日期:

    $job = $jobs->where('closing_at', '>=', "2016-10-19 00:00:00")
->orderBy($sorter[0], $sorter[1])->paginate(24);

我假设我的错误是将 NOW() 与 Eloquent 查询构建器一起使用,但我想不出正确的使用方法。

最佳答案

Eloquent 查询生成器不接受那些特定的 SQL 函数,但是因为它是在您的 PHP 中完成的,所以您可以轻松地使用很棒的 Carbon 类:http://carbon.nesbot.com/docs/ :

使用 Carbon\Carbon;

然后,

$job = $jobs->where('closing_at', '>=', Carbon::now())
->orderBy($sorter[0], $sorter[1])->paginate(24);

这应该可以解决问题。

还有一个 whereDate() Eloquent 方法:https://laravel.com/docs/5.3/queries#where-clauses

关于php - Laravel 5 查询生成器和 NOW() 用于日期比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40140931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com