[英]How to format a date in Laravel using ::lists
我正在Laravel中编码功能,用户可以使用选择框来选择特定日期。 按照标准,这些日期保存在表中的ymd中。
我已经使用Eloquent解决方案成功地将日期格式化为dd/mm/yyyy
,并将其添加到名为Dataslot的Eloquent模型中:
保护$ dates = ['maand'];
之后,我可以使用以下格式设置日期。
$d = Dataslot::find(1);
$dformat = $d->maand->format('d-m-Y');
为了将数据槽的ID和日期传递到我的选择框,我选择使用列表方法。
$dataslots = Dataslot::lists("maand","id");
这将返回一个数组。 我不能像在第一个示例中在对象上那样在此数组上使用format方法。
如何将ID作为关键字的格式化日期数组发送给我的视图?
未经测试(我现在正在移动设备上),但这应该可行;
Carbon::setToStringFormat('d-m-Y');
$dataslots = Dataslot::lists('maand', 'id');
您可以使用以下方法将Carbon改回来:
Carbon::resetToStringFormat();
这样可以吗?
$dataslots = Dataslots::all()->map(function($dataslot) {
return [$dataslot->id => $dataslot->maand->format('d-m-Y')];
});
这成功了:
$dataslots = Dataslot::all();
foreach ($dataslots as $o) {
$flatArray[$o->id] = $o->maand->format('d-m-Y');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.