Yii Framework 1.1 .. Фильтр CGridview не работает с моей собственной функцией поиска в модели

у меня была функция поиска клонов в модели, я использовал ее при передаче контроллера, чтобы использовать CGridview, данные результата верны, но фильтры перестают работать, я не вижу никакой разницы, поэтому нужно добавить что-то еще. Это разделы моего кода:
Модель:

public function searchCargo()
{
$criteria=new CDbCriteria;
$criteria->compare('cargoResp',1,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}

контроллер

$modRespSearchC=new Responsables('searchCargo');

$modRespSearchC->unsetAttributes();
if(isset($_GET['Responsables']))
$modRespSearchC->attributes=$_GET['Responsables'];

CGridView:

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'responsables-grid1',
'dataProvider'=>$modRespSearchC->searchCargo(),
'filter'=>$modRespSearchC,

'columns'=>array(
'apell1Resp',
'apell2Resp',
'cargoResp',.....

что я пропустил ??
Как использовать фильтры с моими собственными функциями?

1

Решение

Другие условия поиска отсутствуют. Однако, поскольку они существуют в search Функция Все, что вам нужно сделать, это вызвать эту функцию, как показано ниже:

public function searchCargo() {
$dataProvider = $this->search();
$dataProvider->criteria->compare('cargoResp',1,true);
return $dataProvider;
}

Кроме того, если вы не добавили правила для searchCargo в вашей модели rules метод, ваш сценарий должен быть search т.е.

$modRespSearchC=new Responsables('search')
0

Другие решения

Других решений пока нет …