Почему не работает search?

Перестал работать фильтр, не могу понять почему и где тут ошибка, продебажил, и как выяснилось criteria не получает ни каких данных. модель
$criteria = new CDbCriteria;

        $criteria->with = array('street' => array('with' => 'town'));
        $criteria->compare('ID', $this->ID);
        $criteria->compare('Town', $this->Street_ID, true);
        $criteria->compare('Surname', $this->Surname, true);
        $criteria->compare('Patronymic', $this->Patronymic, true);
        $criteria->compare('Name', $this->Name, true);
        $criteria->compare('Building', $this->Building);

        $sort = new CSort;
        $sort->attributes = array(
            'street' => array(
                'asc' => 'street,town',
                'desc' => 'Street DESC, Town DESC',
            ),
            '*'
        );
        return new CActiveDataProvider(get_class($this), array(
            'criteria' => $criteria,
            'sort' => $sort,
        ));

контроллер
public function actionIndex()
    {
        $model = new Fio('search');
        $model->unsetAttributes();  // clear any default values
        if (isset($_GET['Fio']))
            $model->attributes = $_GET['Fio'];

        $dataProvider = new CActiveDataProvider('Fio');
        $this->render('index', array(
            'dataProvider' => $dataProvider,
            'model' => new Fio,
            'phone' => new Phone,
        ));
    }

вьюха
'id' => 'fio-grid',
    'filter' => $model,
    'dataProvider' => $model->search(),
    'columns' => array(
        'Surname',
        'Name',
        'Patronymic',
        array(
            'name' => 'street',
            'value' => function ($data) {
                $output = "";
                if ($data->street instanceof Street) {
                    $output .= $data->street->Street;
                    if ($data->street->town instanceof Town) {
                        $output .= "," . $data->street->town->Town;
                    }
                }
                return $output;
            },
        ),
        'Building',
        array(
            'htmlOptions' => array('nowrap' => 'nowrap'),
            'class' => 'booster.widgets.TbButtonColumn',
        ),
помогите понять в чем ошибка моя
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
@Mi7teR
Senior Jquery engineer
при выводе рендера вы переопределяете модель. Попробуйте
$this->render('index', array(
            'dataProvider' => $dataProvider,
            'model' => $model,
            'phone' => new Phone,
        ));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы