поиск по диапазону
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
поиск по диапазону
всем хелло,
например, есть модель Goods, в ней переменная price.
Как можно замутить форму поиска с 2-мя инпутами, чтобы в итоге осуществлялся поиск вариантов по базе с условиями price > value1 && price < value2?
например, есть модель Goods, в ней переменная price.
Как можно замутить форму поиска с 2-мя инпутами, чтобы в итоге осуществлялся поиск вариантов по базе с условиями price > value1 && price < value2?
Re: поиск по диапазону
запрос написать или что именно не понятно ?
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: поиск по диапазону
есть форма (view): в ней 2 инпута с именами price1 и price2.sequester писал(а):запрос написать или что именно не понятно ?
Как привязать эти значения к модели, где есть только параметр с именем price и осуществить интервальный поиск?
Re: поиск по диапазону
Ghost_nsk писал(а):есть форма (view): в ней 2 инпута с именами price1 и price2.sequester писал(а):запрос написать или что именно не понятно ?
Как привязать эти значения к модели, где есть только параметр с именем price?
Код: Выделить всё
"... WHERE $good->price > $value1 && $good->price < $value2"
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: поиск по диапазону
ладно, по другому,
как закинуть $value1 и $value2 в метод search() модели Goods?
как закинуть $value1 и $value2 в метод search() модели Goods?
Re: поиск по диапазону
зачем его в search засовывать ? Ищите либо с пом DAO либо AR
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: поиск по диапазону
в search, ибо:sequester писал(а):зачем его в search засовывать ? Ищите либо с пом DAO либо AR
Код: Выделить всё
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'rlive-grid',
'dataProvider' => $model->search(),
...
?>
-
- Сообщения: 86
- Зарегистрирован: 2011.11.03, 15:34
- Откуда: Калининград
Re: поиск по диапазону
Что вам мешает формировать провайдер в контроллере и после передавать уже в представление? В действие обрабатываете параметры и скидываете в модель в метод search(). Ничто не мешает добавить к нему возможность принимать аргументы.
http://www.yiiframework.com/doc/api/1.1 ... ion-detail
//не понимаю, зачем по каждому чиху создавать топики даже не пораскинув мозгами : ) и всё требовать от фреймворка.
http://www.yiiframework.com/doc/api/1.1 ... ion-detail
//не понимаю, зачем по каждому чиху создавать топики даже не пораскинув мозгами : ) и всё требовать от фреймворка.
- Ivan Ozercov
- Сообщения: 53
- Зарегистрирован: 2012.03.21, 15:53
- Откуда: Минск
- RSol
- Сообщения: 325
- Зарегистрирован: 2010.05.07, 08:36
- Откуда: Северодонецк, Украина
- Контактная информация:
Re: поиск по диапазону
Я делаю так:
модель преобразовываем:
в контроллере создаю нужную мне критерию и передаю ее во вьюху
во вьюхе делаю:
модель преобразовываем:
Код: Выделить всё
public function search($crit=null)
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
....
if($crit)
{
$criteria->mergeWith($crit);
}
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
Код: Выделить всё
...
//разные проверки
$criteria=new CDbCriteria;
$criteria->addBetweenCondition('field',$valueStart,$valueEnd);
....
$this->render('view',array(
...
'criteria'=>$criteria,
));
Код: Выделить всё
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'rlive-grid',
'dataProvider' => $model->search($criteria),
...
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: поиск по диапазону
RSol хорош