Yii: Как выводить несколько значений в поле CGridView, которое хранит строку id's. Вывод массива в CGridView.

Yii: Как выводить несколько значений в поле CGridView, которое хранит строку id's. Вывод массива в CGridView. Yii: Как выводить несколько значений в поле CGridView, которое хранит строку id. Вывод массива в CGridView.

В представлении views/admin.php в массиве columns:

<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'catalog-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
...
array(
            'name'=>'conferences',
            'value'=>'$data->conferencesNames',
            'header'=>'Конференции',
            'type'=>'raw',
            'filter'=> CHtml::listData(Conference::model()->findAll(), 'id', 'name'),
        ),
...     
А в модели для этого представления описываем функцию getConferencesNames, которая преобразовывает строку id, перечисленных через запятую, в строку названий конференций, соответствующих этим id (наапример, в поле conferences может быть строка – "1, 3, 4"):
public function getConferencesNames()
{
    $selectedconferencesnames=array();
    foreach($this->string2array($this->conferences) as $one) {
         $selectedconferencesnames[] = Conference::model()->findByPk($one)->name;
    }
    return implode(', ', $selectedconferencesnames);
}
 

 

Источник: loco.ru

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (1)     Подпишитесь на RSS комментариев к этой статье.

1 комментарий

#896
Sergey говорит:
June 11, 2013 at 02:48 am
Наверное в последней функции правильно будет вместо
$selectedconferencesnames[]

писать

$selectedconferencesnames[$one]