我正在使用Laravel 5.3
。
表expired_at
中有一个字段articles
:
public function store(Request $request)
{
$data=[
'expired_at'=>Carbon::now()->addDays(30)->endOfDay()
];
$article=Article::create(array_merge($request->all(),$data));
return redirect('/artilces');
}
视图:
{{$article->expired_at->format('Y-m-d')}}
错误:
在字符串上调用成员函数format()(视图:D:\ wnmp \ www \ laravel-5-3-dev \ resources \ views \ artiles \ index.blade.php)
为什么?
答案 0 :(得分:30)
在Article
课程中添加以下属性:
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['expired_at'];
答案 1 :(得分:22)
我认为这是方法。它不会抛出错误
{{ Carbon\Carbon::parse($article->expired_at)->format('Y-m-d') }}
答案 2 :(得分:4)
如果使用DB ::检索复杂数据,则无法使用mutators。 在这种情况下,我使用这个:
{{ date('m-Y', strtotime($hora->Fecha)) }}
其中“Fecha”是日期时间值。
答案 3 :(得分:0)
在模型的 $dates 上声明的字段。
试试这个:
optional($article->expired_at)->format('Y-m-d')