Возможно, я упускаю что-то очень очевидное здесь, но если я делаю:
public function getName()
{
return $this->first_name . ' ' . $this->last_name;
}
а потом на мой взгляд сделать
$user->name
Я ничего не получаю обратно. Но если я бегу
$user->getName()
Тогда все работает как положено. Разве невозможно создать аксессор, который обращается к нескольким атрибутам?
Вы должны использовать что-то подобное в вашем User
модель как accesor
:
public function getNameAttribute($value)
{
return $this->first_name . ' ' . $this->last_name;
}
Так что вы можете использовать $user->name
имущество. Формат имени getPropertyAttribute
,
Ваша функция должна иметь имя getNameAttribute
и не getName
заставить его работать как аксессор (ссылка на документы) и использовать $user->name
получить доступ к результату вашего метода доступа. Теперь вы создали стандартную функцию, и если вы хотите запустить ее, вам нужно запустить функцию, как во всех стандартных функциях PHP.