CGRIDView + filter

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
saygo
Сообщения: 48
Зарегистрирован: 2013.01.07, 09:55

CGRIDView + filter

Сообщение saygo »

Прошу помощи в задаче:
Есть код

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

array(
            'header' => 'sIP',
            'name' => 'hardware_id',
            'filter' => CHtml::listData(Switches::model()->findAll(), 'id', 'ip'),
                        'value' => '$data->switches->ip',
            'headerHtmlOptions' => array('style' => 'width:40px;'),
            'cssClassExpression' => '"sip"',
        ), 
В выпадающем списке выбираю ip, например если его id==1, то в выводе присутсвуют также id == 11, что не есть целью. Подскажите где и что поменять.
masson
Сообщения: 545
Зарегистрирован: 2012.07.03, 15:59

Re: CGRIDView + filter

Сообщение masson »

Код который данные выбирает хотелось бы посмотреть. И лог запроса тоже бы не помешал.
marklangovoi
Сообщения: 3
Зарегистрирован: 2014.10.24, 20:43

Re: CGRIDView + filter

Сообщение marklangovoi »

Возможно у вас в search() модели стоит частичное совпадение для поля ip.

Вот так делается полное совпадение:

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

$criteria->compare('ip', $this->ip); 
Вот так - частичное:

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

$criteria->compare('ip', $this->ip, true); 
saygo
Сообщения: 48
Зарегистрирован: 2013.01.07, 09:55

Re: CGRIDView + filter

Сообщение saygo »

marklangovoi писал(а):Возможно у вас в search() модели стоит частичное совпадение для поля ip.

Вот так делается полное совпадение:

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

$criteria->compare('ip', $this->ip);
Вот так - частичное:

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

$criteria->compare('ip', $this->ip, true);

Пробовал 2 варианта - не сработало.
Я новичок, так что буду учить матчасть.
Ответить