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

时间:2018-11-09 23:30:00

标签: laravel

我正在使用Laravel 5.6,我想像这样在我的实用程序模型中创建访问器

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

但是当我致电{{ $utility->rekomtek_date }}时出现错误,如标题所示,

我已将此行添加到与Laravel error: Call to a member function format() on string中相同的模型中,但还是没有运气

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

我不知道怎么了。因为我使用的是Laravel 5.3,所以这种情况总是发生-_-'

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您不应该将$value传递给getter函数,如下所示:

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