Laravel错误:对字符串调用成员函数format()



我使用的是Laravel 5.6,我想在我的实用新型中制作一个类似的访问者

public function getRekomtekDateAttribute($value)
{
return $value->format('d-m-Y');
}

但当我调用{{ $utility->rekomtek_date }}时,错误,如标题中所示,显示

我在同一个模型中添加了这一行,就像在Laravel错误中一样:调用字符串上的成员函数format((,但仍然没有运气

/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = [
'rekomtek_date'
];

我不知道怎么了。自从我使用Laravel 5.3以来,这种情况总是会发生

这是因为您试图在字符串中使用format((。你应该做:

use CarbonCarbon;
...
public function getRekomtekDateAttribute($value)
{
return Carbon::parse($value)->format('d-m-Y');
}

您不应该将$value传递给getter函数,这样使用它:

public function getRekomtekDateAttribute()
{
return $this->rekomtek_date->format('d-m-Y');
}

最新更新