Ответ 1
В вашем классе Article
добавьте следующее свойство:
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['expired_at'];
Я использую Laravel 5.3
.
В таблице articles
есть поле expired_at
:
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')}}
Ошибка:
Call to a member function format() on string (View: D:\wnmp\www\laravel-5-3-dev\resources\views\artiles\index.blade.php)
Почему?
В вашем классе Article
добавьте следующее свойство:
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['expired_at'];
Я думаю, что так оно и есть. Он не будет вызывать ошибку
{{ Carbon\Carbon::parse($article->expired_at)->format('Y-m-d') }}
Если вы используете DB:: для получения сложных данных, вы не можете использовать мутаторы. В этой ситуации я использую это:
{{ date('m-Y', strtotime($hora->Fecha)) }}
где "Fecha" - это значение datetime.