【问题标题】:Get data created x minutes ago in Laravel获取 x 分钟前在 Laravel 中创建的数据
【发布时间】:2018-06-12 01:52:27
【问题描述】:

是否有查询,使用 PHP 日期或 Carbon 来获取 x 分钟前创建的数据?

在我的示例中,我需要 3 分钟前创建的所有数据。如果时间是 10:00 并且创建了数据,那么在 10:03 进行查询时,我应该得到在 10:00 创建的所有数据。如果在 10:04 进行查询,则不返回任何数据。

按答案编辑:返回 3 分钟前和现在之间创建的所有数据。

use App/Foo
use Carbon\Carbon;

[...]

$three_minutes_ago = Carbon::now()->subMinutes(3)->toDateTimeString();
$foo = Foo::where('created_at', '<', $three_minutes_ago)->get(); // Is this correct?

$foo 始终为空,无论数据在Foo 中。我使用tinker 来创建/保存数据,

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    刚刚测试过,这是一个可行的解决方案:

    Foo::whereBetween('created_at', [now()->subMinutes(3), now()])->get()
    

    【讨论】:

    • 奇怪。你确定这行得通吗?我的数组仍然是空的。请问你的代码是做什么的?
    • 好的,我明白了。您能否更新您的答案以匹配对我有用的答案? Foo::whereBetween('created_at', [now()-&gt;subMinutes(3), now()])-&gt;get();
    • @Sylar 我以为您只想获取 3 分钟前创建的数据。我已经更新了我的答案。
    • 哦!我明白了,你以为我想要一个特定的数据。对不起。我的意思是说所有创建的数据within .... 抱歉。但是您的第一个代码会派上用场。再次感谢!
    • @Sylar 很高兴它有帮助。 )
    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多