2015-08-15 6 views
0

Я пытаюсь использовать мутатор доступа на свою дату, но получаю всевозможные ошибки.Laravel 5 мутатор даты

В настоящее время:

public function getCreatedAtAttribute($date) 
{ 
    return $date->diffForHumans(); 
} 

Но я получаю:

Call to a member function diffForHumans() on string 

Я просто хочу, чтобы использовать функции Carbon на созданный на сегодняшний день, но всегда получаю эту ошибку.

Любая помощь?

+0

Вы не хотите использовать функцию даты php? – aldrin27

+0

Добавьте created_at в массив $ date вашей модели – zeratulmdq

ответ

1

Это должно сделать трюк:

public function getCreatedAtAttribute() 
{ 
    return $this->attributes['created_at']->diffForHumans(); 
} 

Во всяком случае, делая это, вы будете делать это невозможно, чтобы получить исходное значение. Поэтому я полагаю, что вы просто создать геттер для атрибута с другим именем, например:

public function getHumanCreatedAtAttribute() 
{ 
    return $this->created_at->diffForHumans(); 
} 

, а затем использовать его в качестве

$mode->human_created_at; 
0

Выполните следующие действия в вашем BaseModel:

public function getDates() 
{ 
    return ['created_at', 'updated_at']; 
} 

Это обеспечит created_at и updated_at поля будут обрабатываться как Carbon объектов.

Смежные вопросы