Задать вопрос
@DeOne
Программист

Как в yii2 получить полное имя в gridview?

Подскажите, вот как получить полное имя по ID из другой таблицы и вывести в gridview?
  • Вопрос задан
  • 896 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@aradon
PHP-Developer
Если я правильно вас понял то как-то так:

Допустим у вас есть модели Books и Authors. И вы хотите в GridView отобразить список книг с именем автора.

<?= GridView::widget([
                'dataProvider' => $dataProvider,
                'columns' => [
                    ['class' => 'yii\grid\SerialColumn'],
                    'title',
                    'author' => [
                        'class' => \yii\grid\DataColumn::className(),
                        'format' => 'html',
                        'value' => function ($model, $index, $widget) {
                            return $model->author->name ;
                        },
                    ],
                   // и т.п. ...


А чтобы обращаться $model->author->... вы должны настроить связь между моделями. В нашем примере в модели Books надо добавить что-то типа такого:
public function getAuthor() {
        return $this->hasOne(Authors::className(), ['id' => 'author_id']);
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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