Я
НОВИЧОК. То, что изложено в теме - всё понятно. Я стандартно сделал своё: одно табличку, модель, контроллер и view.
В контроллере:
Код: Выделить всё
public function filters()
{
return array(
'accessControl', // perform access control for CRUD operations
);
}
public function actionIndex()
{
$dataProvider = new CActiveDataProvider('Notice');
$this->render('index',array(
'dataProvider' => $dataProvider,
));
}
В моделе есть:
Код: Выделить всё
public function attributeLabels()
{
return array(
'id' => 'ID',
'code_id' => 'Code',
'surname' => 'Surname',
'name' => 'Name',
'middle' => 'Middle',
'city' => 'City',
'status' => 'Status',
);
}
Во view:
Код: Выделить всё
<?php $this->widget('zii.widgets.grid.CGridView', array(
'dataProvider' => $dataProvider,
'filter' => $model,
'columns'=> array(
'id',
'code_id',
array(
'name' => 'surname',
'header' => 'Фамилия',
'filter' => array(8=>'id'),
'sortable' => false,
),
array(
'name' => 'name',
'header' => 'Имя',
),
array(
'name' => 'city',
'header' => 'Город',
)
),
)
);
?>
И отфильтрованных нет!
Я видел, что вместо
'dataProvider' => $dataProvider, ставят
'dataProvider' => $dataProvider->search(),
В Вашем примере:
'dataProvider'=>$model->search(),
У меня на такие выражения выдает ошибку.
Видать я не проникся пока идеологией. Может кто подскажет в чём не прав?