Не работает поиск в CGridView

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
ilyas.galiev
Сообщения: 39
Зарегистрирован: 2014.08.18, 10:04

Не работает поиск в CGridView

Сообщение ilyas.galiev »

Использую YiiBooster.
На выходе получаю ошибку:
В классе CActiveDataProvider и его поведениях не найден метод или замыкание с именем "getValidators".
Контроллер

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

public function actionProducts () {
        $model = new Product();
        $dp = new CActiveDataProvider('Product',['pagination'=>['pageSize'=>5]]);
        $this->render('products', ['dp' => $dp, 'model' => $model]);
    }
Вьюха

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

$this->widget('booster.widgets.TbGridView', [
    ...
    'dataProvider' => $dp,
    'filter' => $model->search()
    ...
]);
 
Если же в контроллере пишу

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

public function actionProducts () {
        $model = new Product('search');
        $this->render('products', ['model' => $model]);
    }
 
А в вьюхе

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

$this->widget('booster.widgets.TbGridView', [
    ...
    'dataProvider' => $model->search,
    'filter' => $model
    ...
]);
 
То ошибка пропадает, но поиск все равно не работает.
Метод search() в модели стандартный, Gii'ишный

Аватара пользователя
sluchainiyznak
Сообщения: 617
Зарегистрирован: 2013.05.19, 17:51
Откуда: ХМАО-Югра, г. Сургут
Контактная информация:

Re: Не работает поиск в CGridView

Сообщение sluchainiyznak »

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

public function actionProducts () {
$model = new Product('search');
if(isset($_GET["Product"])){
    $model->attributes = $_GET["Product"];
}
$this->render('products', ['model' => $model]);
    }
Пример блога - https://github.com/yiisoft/yii/blob/mas ... #L142-L150

ilyas.galiev
Сообщения: 39
Зарегистрирован: 2014.08.18, 10:04

Re: Не работает поиск в CGridView

Сообщение ilyas.galiev »

Я читал пример блога... как же я не подумал про гет параметры. Спасибо

Ответить