【发布时间】:2018-06-08 12:56:42
【问题描述】:
我正在尝试将日期值插入到我的数据表实例中,但我无法完全正确地获取格式。
我的控制器正在拉入一个名为“created_at”的 mysql 时间戳:
if( $d->created_at > $deadline){
$d->call_status = 'new';
}
我正在转储它并返回正确的数据,目前在我的数据表中它转储了正确的数据,但它是一个完整的时间戳。
所以这个:
<td class="createdAt">
@if(!is_null($this->created_at))
{{ $this->created_at }}
@endif
</td>
有效但返回 06/12/2018 00:00:00
我只想要日期部分。但是,当我尝试这样做时:
<td class="createdAt">
@if(!is_null($this->created_at))
{{ $this->created_at->date->format('Y-m-d') }}
@endif
</td>
它说它不能在字符串上调用 format()。
格式行适用于我的其他列,但那些是 mysql DATE 字段,而不是时间戳。
最好的做法是让它仅正确显示日期部分?
【问题讨论】:
-
还不是 100% 清楚 created_at 的来源。如果您在控制器中使用它作为
$this->created_at,您需要显示更多代码,即。从哪里获得 created_at。 -
我可以展示更多,但我必须编辑掉不必要的。基本上我在控制器中执行查询,因为没有模型。在查询中,我使用 get(['created_at']) 并将其设置为如上。如果我转储它,我会得到“2018-06-02 00:00:00”。所以它是时间戳格式,但它是一个字符串
-
Controller 内部使用
Carbon::parse来帮助您。或者,当您获得created_at时,请确保它是有效的 Date 对象。