使用 laravel 从数据库中获取日期为 10 天前的日期

get the date from database where date is 10 days ago with laravel

我需要在付款日期在 100 天前完成付款,我有一个付款日期,我试过这个,但没有用:

$statusSearch = Payment::where('date', '<', strtotime('-10 Days'))->get();

让我们使用 whereDate,因为我们需要比较日期,而 Carbon 有 DateInterval:

$tenDaysAgo = Carbon::now()->subDays(10);
$statusSearch = Payment::whereDate('date', '<', $tenDaysAgo)->get();

然后,不要忘记进入 Payment 模型并将 date 列转换为 date:

protected $casts = [
    'date' => 'date',
];

此外,我建议您将此列重命名为其他名称,以防止在不久的将来在查询过程中出现问题。

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

$statusSearch = Payment::where('date', '<=', Carbon::now()->subDays(10)->toDateTimeString())->get();