如何在查询日期中添加天数?拉拉维尔

时间:2021-05-27 03:27:43

标签: php laravel eloquent

如何在使用 laravel eloquent 查询的日期中添加天数?

像这样:

Post::where('created_at + 7 days', now()->toDateTimeString())
    ->where('created_at', '<', now()->toDateTimeString())
    ->get();

我的逻辑是这样的

<块引用>

今天 >= created_at && 今天 <= created_at + 4

是否有一些正确的语法来实现这一目标?

2 个答案:

答案 0 :(得分:1)

从日期时间进行比较的一种方法是使用如下计算的碳:

Post::where('created_at', '>=', now()->addDays(4)->toDateTimeString()
    ->get();

它只会显示从今天起超过 4 天的 created_at 帖子。

对于日期范围过滤器,您可以使用 between 范围,例如:

$startDate = now()->subDays(4)->toDateString();
$endDate = now()->toDateString();

$filteredPosts = Post::whereBetween('created_at', [$startDate, $endDate])->get();

有关过滤器的更多信息,您可以访问Laravel Query Builder

答案 1 :(得分:1)

您可以使用 whereDate 方法:

Post::whereDate('created_at', 'like', now()->subDays(4))->get();

Post::whereDate('created_at', '>=', now()->subDays(4))->get();