Перестал работать фильтр, не могу понять почему и где тут ошибка, продебажил, и как выяснилось 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',
),
помогите понять в чем ошибка моя