params.phpで定義した内容をDetailViewで表示する

どうせいつも忘れるのでメモ。

例えば、params.phpに以下のように定義しているものとします。

<?php

return [

'subject_status' => [0=>'invalid', 1=>'valid'],

];

 

giiが作ったviewだと

<?= DetailView::widget([
'model' => $model,
'attributes' => [
'id',
'subject_id',

 

のようになっていると思いますが、このsubject_idの部分にparams.phpで定義したinvalid または valid を表示する場合、以下のようにします。

<?= DetailView::widget([
'model' => $model,
'attributes' => [
'id',
['attribute'=>'subject_id','value'=>Yii::$app->params['subject_id'][$model->trial_id]],

〜〜

一見複雑そうですが、attributeとvalueを定義しているだけです。

終わり。