Laravel Eloquent 查找日期超过 2 天的行
Posted
技术标签:
【中文标题】Laravel Eloquent 查找日期超过 2 天的行【英文标题】:Laravel Eloquent find rows where date older than 2 days 【发布时间】:2019-02-25 15:52:08 【问题描述】:我正在尝试根据“created_at”字段获取早于(例如)2 天的行。
我正在使用 Laravel Eloquent。有人可以帮我解决这个问题吗?
【问题讨论】:
嗨@fransyozef,你能发布你的代码吗? 【参考方案1】:您可以使用whereDate()
eloquent 方法对日期运行查询。
Model::whereDate('created_at', '<=', now()->subDays(2)->setTime(0, 0, 0)->toDateTimeString())->get();
now()
是一个 laravel 辅助函数,用于获取当前日期和时间的 carbon 实例。
注意:我们使用setTime()
方法设置time
,使其从一天开始就starts
。
更新:也可以使用->startOfDay()
。
【讨论】:
【参考方案2】:您可以使用Carbon subDays()
,如下所示:
$data = YOURMODEL::where('created_at', '<=', Carbon::now()->subDays(2)->toDateTimeString())->get();
【讨论】:
以上是关于Laravel Eloquent 查找日期超过 2 天的行的主要内容,如果未能解决你的问题,请参考以下文章
Laravel - 使用 eloquent 在开始日期和结束日期之间选择行
Laravel 6.0 Eloquent - 按日期和状态排序