Vous pouvez également ajouter des colonnes à une grille avec la valeur d'une fonction anonyme comme décrit ici http://www.yiiframework.com/doc-2.0/yii-grid-datacolumn.html# $valeur-détail. Par exemple, vous pouvez afficher le nom d'un auteur comme ceci dans une grille :
<?= GridView::widget([
'dataProvider'=>$dataProvider,
'filterModel'=>$searchModel,
'columns'=>[
[
'attribute'=>'author.name',
'value'=>function ($model, $key, $index, $column) {
return $model->author->name;
},
],
//...other columns
]);
?>
vous pouvez également renvoyer un lien html vers la vue détaillée d'un auteur comme ceci :
//...
'columns'=>[
[
'attribute'=>'author',
'value'=>function ($model, $key, $index, $column) {
return Html::a($model->author->name, ['/author/view', 'id'=>$model->author->id]);
},
],
//...
],
//...