在接下来的 x 天内使用 Laravel 和 Carbon 播种 MySQL table

Seeding a MySQL table using Laravel and Carbon for next x number of days

我正在构建一个功能来构建未来 5 年的播放列表。在我的 table 中,MySQL 日期是我的标识符,并且与另一个列出所有播客的 table 有关系。

我的问题是没有找到关于播种 table 从今天到未来 5 年的足够指导。它的实际含义是能够 运行 Laravel 为未来 5 年的每一天生成插入查询的种子。

我目前正在使用 Laravel 5.8 并使用 Carbon。我可以简单地执行一个 foreach 函数来生成这些数据,但是我认为它并不优雅,因此我想知道我是否可以使用更好的方法来生成未来 5 年的日期?下面的代码可以在循环函数中工作,即创建今天然后添加一天以在接下来的 5 年内重复此操作,但它看起来又不是一个好方法,或者我错了?

$mutable = Carbon::now();
$immutable = CarbonImmutable::now();
$modifiedMutable = $mutable->add(1, 'day');

理想情况下,它应该 return 像

这样的日期
id: 1, date: 2019-06-05
id: 2, date: 2019-06-06
id: 3, date: 2019-06-07
...

终于循环完成了,似乎没有其他优雅的方法可以做到这一点,为那些可能考虑做我试图实现的事情的人分享答案。

    $startDate = new Carbon('2019-06-15');
    $endDate = new Carbon('2025-06-15');
    $all_dates = array();
    while ($startDate->lte($endDate)){
      $all_dates[] = $startDate->toDateString();
      $startDate->addDay();
    }
    dd($all_dates);