Получить отформатированные атрибуты из связанной таблицы для красноречивой модели - PullRequest
0 голосов
/ 04 марта 2019

У меня есть 3 таблицы

 1. User table[id, name, email]
 2. user_roles[user_id, role_id]
 3. roles[ id, permission{post:{edit:true,delete:false}} ]

 user hasone user_roles

 roles belongs to user_roles

userRole.role загружено в пользовательскую модель

Возможно ли получить разрешение, вызвав какую-то пользовательскую функцию в пользовательской модели.вместо user->userRole->role каждый раз.like call like $user->permissions() вернет json из таблиц ролей

1 Ответ

0 голосов
/ 04 марта 2019

Вы можете создать метод в вашей Пользовательской модели, подобной этой -

public function permissions()
{
    return $this->userRole->role;
}

Laravel позволяет вам так называть ваши отношения.Здесь $ this представляет модель User , в которой вы создали этот метод.Поэтому вызов отношения на $ this будет работать без проблем.

Затем вы можете вызвать это с вашей коллекцией пользователей, например:

$user->permissions();

Если вы хотитеиспользуйте это с авторизованным пользователем, тогда вы можете назвать это так -

auth()->user()->permissions();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...