select 在 laravel 中的 DATETIME 格式字段中记录了剩余 x 天

select records that x days left to their DATETIME formatted field in laravel

我有一个 Test 模型,其中包含以下字段:

test_id
title
desc
start_date
end_date

start_dateend_date 字段具有 DATETIME 格式。

现在我想 select 所有 10(例如)天(或更少)留给他们 start_dateend_date还没来。

我认为我应该使用 Carbon PHP API 扩展名,但我不知道如何使用。

正在设置日期转换器

首先将您的 start_date 设置为 Test 模型中 Carbon 的一个实例。这将允许您轻松操作它存储的日期时间对象并通过 Laravel 查询构建器进行交互。

构建查询

$date = Carbon::now()->modify('+10 days')->toDateString();
$today = Carbon::now()->toDateString();
$results = Test::where('start_date', '<=', $date)
           ->andWhere('start_date', '>=', $today)
           ->get();

$results 应包含 Test 个具有您指定信息的模型。