繁体   English   中英

如何使用:: lists在Laravel中格式化日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM