ここで説明されているように、無名関数からの値を使用してグリッドビューに列を追加することもできます http://www.yiiframework.com/doc-2.0/yii-grid-datacolumn.html# $value-detail。たとえば、グリッドビューに次のような作成者の名前を表示できます。
<?= GridView::widget([
'dataProvider'=>$dataProvider,
'filterModel'=>$searchModel,
'columns'=>[
[
'attribute'=>'author.name',
'value'=>function ($model, $key, $index, $column) {
return $model->author->name;
},
],
//...other columns
]);
?>
次のように、作成者の詳細ビューへのhtmlリンクを返すこともできます。
//...
'columns'=>[
[
'attribute'=>'author',
'value'=>function ($model, $key, $index, $column) {
return Html::a($model->author->name, ['/author/view', 'id'=>$model->author->id]);
},
],
//...
],
//...