2014-10-19 5 views
1

모델로 복제 검색 기능을 사용하고 컨트롤러보기에서 CGridview를 사용하여 내보기로 결과 데이터가 올바르지 만 필터가 작동을 멈추고, 차이점을 볼 수 없으므로 추가 할 것이 더 있어야합니다. 모델 : 이것은 내 코드의 섹션입니다Yii Framework 1.1 .. 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',..... 

? 내 기능으로 필터를 사용하는 방법 ??

답변

0

다른 검색 조건이 없습니다. 그들은 search 기능에 존재하지만 이후 당신이 할 필요가 다음과 같이 그 함수를 호출 할 수 있습니다 : 당신이 모델의 rules 방법에 searchCargo 규칙을 추가하지 않는 한, 시나리오가 있어야한다 또한

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

search

$modRespSearchC=new Responsables('search') 
+0

감사합니다. 좋은 답변입니다. –