Страница 1 из 1

Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 16:29
x2com
Итак, вот всем знакомая конструкция

Код: Выделить всё

array(
               'sex' => array (
            'name' => 'sex',
            'value' => ($model->sex==1) ?"Мужской":"Женский",        
            ), 
А как быть, если значение может принимать не два, а три значения? В базе значение держится как INT(1)

Re: Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 16:36
Nafania

Код: Выделить всё

function($data) {
switch ( $data->sex ) {
case 1:
return "Мужской";
.....
}
} 
Но лучше методом модели все это оформить

Re: Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 16:44
x2com
Nafania писал(а):

Код: Выделить всё

function($data) {
switch ( $data->sex ) {
case 1:
return "Мужской";
.....
}
}
Но лучше методом модели все это оформить
Подскажите код, чтобы методом модели сделать, пожалуйста.

Re: Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 16:47
Nafania
Ээээ,

Код: Выделить всё

public function getSexTitle () {
switch ( $this->sex ) {
....
}
} 

Код: Выделить всё

array(
               'sex' => array (
            'name' => 'sex',
            'value' => $model->getSexTitle(),
            ),  

Re: Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 16:50
rak

Код: Выделить всё

const SEX_MALE = 1;
const SEX_FEMALE = 2;
public function getSexText()
{
    $values = array(
        self::SEX_MALE => 'Мужской',
        self::SEX_FEMALE => 'Женский'
    );
    if(isset($values[$this->sex])) {
        return $values[$this->sex];
    }
}

Re: Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 17:15
x2com
Nafania, rak
очень вам признателен, все работает идеально, спасибо!)

Re: Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 17:49
x2com
В tbGridView

вот эта конструкция не выводит нормально статус

Код: Выделить всё

'status' => array (
            'name' => 'status',
            'value' => $model->getStatusText(),
            'filter' => array (0=>"Реклама",1=>"В поиске",2=>"Заселен"),
            'headerHtmlOptions' => array('width'=>80)    
        ),
 
В DetailView

Код: Выделить всё

'status' => array (
            'name' => 'status',
            'value' => $model->getStatusText(),        
        ), 
отрабатывает на отлично. Ткните носом, в чем налажал..(

Re: Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 17:53
Nafania

Код: Выделить всё

'status' => array (
            'name' => 'status',
            'value' => '$data->getStatusText()',
            'filter' => array (0=>"Реклама",1=>"В поиске",2=>"Заселен"),
            'headerHtmlOptions' => array('width'=>80)    
        ), 

Re: Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 17:57
x2com
Nafania писал(а):

Код: Выделить всё

'status' => array (
            'name' => 'status',
            'value' => '$data->getStatusText()',
            'filter' => array (0=>"Реклама",1=>"В поиске",2=>"Заселен"),
            'headerHtmlOptions' => array('width'=>80)    
        ),
Cпасибо, когда пробовал такой вариант - кавычки забыл(

Re: Определение статуса записи в таблице - DetailView

Добавлено: 2013.03.18, 18:33
rak
кстати фильтр лучше тоже в модель вынести, чтобы при изменении набора значений не править в нескольких местах