我找到了解决方案,代码就像这样
$from = Carbon::parse('2016-10-01');
$to = Carbon::parse('2016-10-05');
$dates = [];
for($d = $from; $d->lte($to); $d->addDay()) {
$dates[] = $d->format('d-m-Y');
}
return view('register.index', compact('dates'));
结果
01-10-2016
02-10-2016
03-10-2016
04-10-2016
05-10-2016
但是我在更改
时遇到了错误'2016-10-01' and '2016-10-05'
使用这样的变量
$start_date = Event::select('start_date')->where('id', '=', '1')->get();
$close_date = Event::select('close_date')->where('id', '=', '1')->get();
$from = Carbon::parse($start_date);
$to = Carbon::parse($close_date);
错误DateTime::__construct(): Failed to parse time string
某人可能会提供帮助
答案 0 :(得分:2)
检查此代码,假设Event
只有一条特定条件的记录。
$dates = Event::select(['start_date','close_date'])->where('id', '=', '1')->first();
$from = Carbon::parse($dates->start_date);
$to = Carbon::parse($dates->close_date);
答案 1 :(得分:1)
试试这个:
$event = Event::find(1);
$from = Carbon::parse($event->start_date);
$to = Carbon::parse($event->close_date);
答案 2 :(得分:0)
虽然其他答案很棒(使用Carbon的解析方法),但有一种更简单,更流畅的方式。在事件模型上,您可以自动将日期或日期时间字段转换为Carbon对象。这样,所有对这些字段的引用都不必解析。
在Laravel 5.6和将来,使用'casts'属性。如果您正在使用以前的版本,请使用protected dates属性。