2016-12-13 1 views
0

я следующий код в мой контроллер:Как назначить новые значения сохраненным данным в yii 1?

public function actionAdmin() 
{ 
    $model=new MForm('search'); 
    $model->unsetAttributes(); // clear any default values 
    if(isset($_GET['ChManageForm'])) 
     $model->attributes=$_GET['ChManageForm']; 

    $this->render('admin',array(
     'model'=>$model, 
    )); 
} 

и

const member=1; 
const district=2; 

Моя точка зрения (так называемый администратор)

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'ch-manage-form-grid', 
    'dataProvider'=>$model->search(), 
    'filter'=>$model, 
    'columns'=>array(
     'id', 
     'form_name', 
     'region', 
     'phone_number', 
     'email', 
     array(
      'class'=>'CButtonColumn', 
     ), 
    ), 
)); ?> 

1 и 2 появляется в имени столбца называется (в моем просмотреть файл), а значения этого столбца сохраняются в целочисленном формате. Мне нужно показать (на мой взгляд (admin)) член и округ вместо чисел (например, член вместо 1). Как мне это сделать?

+0

Что вы хотите сделать? Пожалуйста, объясните в хорошем формате –

+0

В поле формы имя файла сохраняется в целочисленном формате. Я собираюсь показать в своих файлах файла файлов вместо цифр. Например, член вместо 1, вместо 2. – phpdev

ответ

1

Вы также можете указать столбец вид сетки, как это (не требуется помощник в вашей модели):

array(
    'name'=>'form_name', 
    'value'=>'$data->form_name ? \'Member\':\'District\'', 
    'type'=>'text', 
), 

это отлично работает, если у вас есть только 2 значения в переменной.

Посетите этот URL, чтобы получить более подробную информацию.

http://www.yiiframework.com/forum/index.php/topic/14845-if-condition-inside-cgridview/

EDIT:

Если у вас есть более чем 2 значения,

модель, которая используется для CGridView:

public function getValueText() { 
     return $this->getValueTextOptions[$this->form_name]; 
} 

public function getValueTextOptions() { 
     return array(
       1 => 'Member', 
       2 => 'District', 
     ); 
} 

Вид с CGridView:

array(
    'name'=>'form_name', 
    'value'=>'$data->getValueText()', 
) 
+0

Нет, у меня много значений – phpdev

+0

@phpdev Я редактировал свой ответ для нескольких значений. –

Смежные вопросы