Heim > Fragen und Antworten > Hauptteil
Die Datentabelle hat ein expired_at
-Feld und die Daten sehen so aus:
public function store(Request $request)
{
$data=[
'expired_at'=>Carbon::now()->addDays($publishing_days)->endOfDay()
];
$article=Article::create(array_merge($request->all(),$data));
return redirect('/artilces');
}
Ansicht:
{{$article->expired_at->format('Y-m-d')}}
Fehler:
Call to a member function format() on string (View: D:\wnmp\www\laravel-5-3-dev\resources\views\artiles\index.blade.php)
Was ist los?
PHPz2017-05-16 16:51:52
这个错误信息本身已经告诉你了啊, expire_at是字符串, php中字符串是没有format方法的(其实没有任何方法, 因为string在php中不是对象)
ringa_lee2017-05-16 16:51:52
首先 expired_at 在数据库中 需要为 timestamp
或者 datetime
类型
其次, 在Model 中将 此字段加入 $dates
class Article extends Model {
protected $dates = ['expired_at'];
}
然后就可以当Carbon调用了