Я создаю приложение laravel для работы, и мне нужно загрузить всех пользователей с их прикрепленной ролью без какого-либо вложения ролей.Я использовал этот урок для ролей: https://medium.com/@ezp127/laravel-5-4-native-user-authentication-role-authorization-3dbae4049c8a.Если я использую public $with = ['roles'];
в моей пользовательской модели, он возвращает весь объект роли в пользовательском объекте, и мне нужно, чтобы он просто возвращал роль: 'role_name';
/**
* set up eloquent between roles/user
*
* @return \Illuminate\Database\Eloquent\Relations\belongsToMany
*/
public function roles()
{
return $this->belongsToMany(Role::class);
}
Выше указано в моей пользовательской модели и ниже.в моей ролевой модели, чтобы определить отношения.
/**
* provides a many-to-many relationship to User model
*
* @return User::class
*/
public function users()
{
return $this->belongsToMany(User::class);
}
Я подумал, что, добавив это к модели User:
protected $appends = ['role_name'];
public function getRoleNameAttribute()
{
return $this->attribute['name'];
}
, он вернет все, но все, что он делает, - это создание role_name: 'user_name';На модели.Так что, я думаю, я понимаю, что у меня есть доступ только к таблице «Пользователи», а не к таблице «Роли» в БД, но, опять же, я не совсем уверен, что делать.Любая помощь будет принята с благодарностью.