Laravel Eloquent查找日期超过2天的行

fra*_*zef 4 php orm laravel eloquent

我正在尝试根据早于(例如)2天的"created_at"字段获取行.

我正在使用Laravel Eloquent.有人可以帮我这个吗?

Ugu*_*dal 10

您可以像下面这样使用 subDays():

$data = YOURMODEL::where('created_at', '<=', Carbon::now()->subDays(2)->toDateTimeString())->get();
Run Code Online (Sandbox Code Playgroud)


thi*_*vin 6

您可以使用whereDate()eloquent 方法对日期运行查询。

Model::whereDate('created_at', '<=', now()->subDays(2)->setTime(0, 0, 0)->toDateTimeString())->get();
Run Code Online (Sandbox Code Playgroud)

now()是一个 Laravel 辅助函数,用于获取当前日期和时间的carbon实例。

注意:我们设置了time使用setTime()方法,使其starts从一天开始。

更新:也可以使用->startOfDay().