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

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
x2com
Сообщения: 28
Зарегистрирован: 2013.03.09, 19:14

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

Сообщение x2com » 2013.03.18, 16:29

Итак, вот всем знакомая конструкция

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

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

Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

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

Сообщение Nafania » 2013.03.18, 16:36

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

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

x2com
Сообщения: 28
Зарегистрирован: 2013.03.09, 19:14

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

Сообщение x2com » 2013.03.18, 16:44

Nafania писал(а):

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

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

Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

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

Сообщение Nafania » 2013.03.18, 16:47

Ээээ,

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

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

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

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

rak
Сообщения: 2021
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

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

Сообщение rak » 2013.03.18, 16:50

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

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];
    }
}

x2com
Сообщения: 28
Зарегистрирован: 2013.03.09, 19:14

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

Сообщение x2com » 2013.03.18, 17:15

Nafania, rak
очень вам признателен, все работает идеально, спасибо!)

x2com
Сообщения: 28
Зарегистрирован: 2013.03.09, 19:14

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

Сообщение x2com » 2013.03.18, 17:49

В 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(),        
        ), 
отрабатывает на отлично. Ткните носом, в чем налажал..(

Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

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

Сообщение Nafania » 2013.03.18, 17:53

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

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

x2com
Сообщения: 28
Зарегистрирован: 2013.03.09, 19:14

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

Сообщение x2com » 2013.03.18, 17:57

Nafania писал(а):

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

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

rak
Сообщения: 2021
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

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

Сообщение rak » 2013.03.18, 18:33

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

Ответить