laravel - I have 2 dates in Laravel, how can I run a auto generate post to go through between two dates with time period?
问题描述
I want to create a Question (question table)
that has startDate
and endDate
and period
that is in hour (1-2-3-... hours) and user_id
Now I want to auto generate question rows in another table (Question_user) between two dates with period
ex:
startDate = 2019-11-01 00:00:00
endDate = 2019-11-20 12:00:00
period = 12
Now I want to create questions in (Question_user) at:
2019-11-01 00:00:00
2019-11-01 12:00:00
2019-11-02 00:00:00
...
How can I do this?
*Date format -->Year/Month/Day
解决方案
在您的控制器中,添加以下功能:
protected function GenerateDateRange(Carbon $start_date, Carbon $end_date,$period)
{
$dates = [];
for($date = $start_date; $date->lte($end_date); $date->addHours($period)) {
$dates[] = $date->format('Y-m-d H:i:s');
}
return $dates;
}
并像这样使用它:
$dateRanges=$this->GenerateDateRange(Carbon::parse("2019-11-01 00:00:00"),Carbon::parse("2019-11-20 12:00:00"),12);
然后 for 循环 $dateRanges 并插入您的数据。
推荐阅读
- google-apps-script - Google Apps - 如何从当前目录获取所有文件名?
- mysql - 我无法让我的查询从我的产品表中提取所有记录
- c++ - C++字节数组到int
- python - 如何将frozendict对象转换为熊猫数据框
- javascript - 如何查看 RecyclerView 项目逆序最新项目在顶部
- c# - 如何在 C# 控制台应用程序中使用扩展 ascii 字符
- spring-boot - Spring Boot、H2 和 Flyway:使用两个版本的数据库运行集成测试
- maven - 如何将 Maven 项目模块中的所有依赖项复制到目录中?
- jquery - 控制器将微软图表作为图像返回给 AJAX 调用
- c# - QuickFixN 不发送交易时段的登录信息