在接下来的 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);
我正在构建一个功能来构建未来 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);