Как отобразить значение из связанной таблицы в GridView Yii2, имея id нужного элемента?

Для отображения значения из связанной таблицы в GridView в Yii2, вы можете использовать конфигурацию модели и виджета.

Предположим, у вас есть две таблицы: post и author, связанные между собой по полю author_id. Вам нужно отобразить имя автора в GridView на основе его author_id.

1) Настройте связь между моделями Post и Author в методе relations() модели Post:

public function relations()
{
    return [
        'author' => [self::BELONGS_TO, 'Author', 'author_id'],
    ];
}

2) В представлении GridView определите колонку, в которой будет отображаться имя автора:

GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        // ... другие колонки
        [
            'attribute' => 'author_id',
            'value' => 'author.name', // отображает имя автора
        ],
    ],
]);

В этом примере мы использовали связь author, определенную в методе relations() модели Post, и получили свойство name модели Author в колонке.

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

Обратите внимание, что связь между таблицами должна быть настроена правильно и данные в таблице author должны соответствовать значениям в таблице post.