laravel - 在接下来的 x 天中使用 Laravel 和 Carbon 播种 MySQL 表
问题描述
我正在构建一个功能来构建未来 5 年的播放列表。在我的表中,MySQL 日期是我的标识符,并且与另一个列出所有播客的表有关系。
从今天到未来 5 年,我的问题是没有找到足够的关于播种表的指导。它实际上意味着能够运行 Laravel 种子,为未来 5 年内的每一天生成一个插入查询。
我目前正在使用 Laravel 5.8 并使用 Carbon。我可以简单地执行一个 foreach 函数来生成这些数据,但是我认为它并不优雅,因此我想知道是否可以使用更好的方法来生成未来 5 年的日期?下面的代码可以在循环函数中工作,即今天创建,然后添加一天以在接下来的 5 年内继续重复此操作,但它再次看起来不是一个好方法,或者我错了?
$mutable = Carbon::now();
$immutable = CarbonImmutable::now();
$modifiedMutable = $mutable->add(1, 'day');
理想情况下,它应该返回类似的日期
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);
推荐阅读
- xpages - 阻止转发或回复电子邮件
- javascript - 在 WSL2 上运行 Puppeteer 控制 Windows 上的 Chrome
- r - 用户在 Shiny 应用程序中选择不同的数据框和列表
- java - 将数据集划分为 n 个分区
- ios - 如何在 swift xcode 故事板中正确使用纵横比?
- spring-batch - 块级别的 Spring Batch 事务/连接和提交边界管理
- php - 迁移问题:警告消息 [WARNING] 您有 2 个可用迁移要执行
- bibliography - 使用哪些应用程序来显示和管理 Web 上的书目?
- python - 背包动态编程 Python
- mysql - Mysql使用先前插入的自动增量ID