Можно ли по-прежнему использовать средства доступа Laravel 5 для доступа к нескольким атрибутам?

Возможно, я упускаю что-то очень очевидное здесь, но если я делаю:

public function getName()
{
return $this->first_name . ' ' . $this->last_name;
}

а потом на мой взгляд сделать

$user->name

Я ничего не получаю обратно. Но если я бегу

$user->getName()

Тогда все работает как положено. Разве невозможно создать аксессор, который обращается к нескольким атрибутам?

0

Решение

Вы должны использовать что-то подобное в вашем User модель как accesor:

public function getNameAttribute($value)
{
return $this->first_name . ' ' . $this->last_name;
}

Так что вы можете использовать $user->name имущество. Формат имени getPropertyAttribute,

1

Другие решения

Ваша функция должна иметь имя getNameAttribute и не getName заставить его работать как аксессор (ссылка на документы) и использовать $user->name получить доступ к результату вашего метода доступа. Теперь вы создали стандартную функцию, и если вы хотите запустить ее, вам нужно запустить функцию, как во всех стандартных функциях PHP.

3

По вопросам рекламы [email protected]