@DronTat

Как вывести в gridview связанные через промежуточную таблицу данные?

5b025e2ce0899145300548.png
Вывожу с помощью gridview список пользователей. Но хотелось бы еще добавить принадлежность к роли(у каждого пользователя одна роль). Можно вывести через связь item_name, но хочется полноценную запись вывести, description. Как это можно реализовать
  • Вопрос задан
  • 221 просмотр
Решения вопроса 2
kimono
@kimono
Web developer
[
  'label' => 'Роль',
  'value' => function($model){
    return $model->authAssignment->authItem->description;
  }
]

Только при этом убедитесь, что цепочка связей существует и добавьте жадную загрузку в UserSearch:
$query = User::find()->with([
  'authAssignment' => function($q){
    return $q->with('authItem');
  }
]);
Ответ написан
coderisimo
@coderisimo
Что мешает добавить реляцию через геттер?
// в модели
 public function getRole()
    {
        return $this->hasOne(User::className(), ['id' => 'user_id']);
    }


а затем к примеру :

$model = Model::findOne(123);
echo $model->role;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы