我正在Laravel中编写一个功能,用户可以使用选择框来选择某个日期。按照标准,这些日期保存在我的表中的y-m-d中。
我已经成功地使用Eloquent解决方案将日期格式化为dd/mm/yyyy
,并将其添加到我的Eloquet模型中,称为Dataslot:
受保护的$dates=['maand'];
之后,我可以使用以下格式来设置日期。
$d = Dataslot::find(1);
$dformat = $d->maand->format('d-m-Y');
为了将数据槽的ID和日期传递到我的选择框中,我选择使用lists方法。
$dataslots = Dataslot::lists("maand","id");
这将返回一个数组。我不能像在第一个例子中那样在这个数组上使用format方法。
如何将ID作为关键字的格式化日期数组发送到我的视图?
未测试(我现在在移动设备上),但这应该可以工作;
Carbon::setToStringFormat('d-m-Y');
$dataslots = Dataslot::lists('maand', 'id');
你可以用将碳换回来
Carbon::resetToStringFormat();
这就成功了:
$dataslots = Dataslot::all();
foreach ($dataslots as $o) {
$flatArray[$o->id] = $o->maand->format('d-m-Y');
}
这样行吗?
$dataslots = Dataslots::all()->map(function($dataslot) {
return [$dataslot->id => $dataslot->maand->format('d-m-Y')];
});