Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment afficher des données relationnelles dans yii2

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]);
        },
    ],
    //...
],
//...