在Laravel的特定时间范围内获取记录

时间:2017-01-25 02:06:34

标签: php mysql sql laravel laravel-5.1

在我的网站上,我使用Laravel的created_at来存储上传图片的时间。

但是,我希望能够创建一个仅在特定时间范围内获取图像的查询。

那些将是:

- 过去24小时

- 过去一周

- 过去一个月

- 路径年

我在考虑类似......

$images = Images::where('created_at', '>=', Carbon::now()->hours(24))->get();

从特定时间内获取记录很容易,因为我可以简单地从24到168到672到2087(日,周,月,年)。

思想?

1 个答案:

答案 0 :(得分:2)

使用sub方法:

Images::where('created_at', '>=', Carbon::now()->subDay())->get();
Images::where('created_at', '>=', Carbon::now()->subWeek())->get();
Images::where('created_at', '>=', Carbon::now()->subMonth())->get();
Images::where('created_at', '>=', Carbon::now()->subYear())->get();

或者:

Images::where('created_at', '>=', Carbon::now()->subHours(24))->get();