2013-03-04 2 views
0

나는 많은 주제가 있다는 것을 알고 있지만 &은 너무 많은 시도를했지만 아직 작동하지 않습니다.관련 모델 필드로 검색

테이블이 있습니다. 팀 및 작업자. 모든 작업자는 팀에 배정 될 수 있습니다. 그래서 노동자 관리자 (Workers Manager)에서 저는 팀 이름으로도 노동자를 검색하고 싶습니다.

등이 있지만 팀 이름의 일부를 입력하면 검색이 시작되지만 작성된 텍스트가 사라지고 검색이 필드를 신경 쓰지 않습니다. Firebug로 AJAX 호출을 검사했고 teamName이라는 필드가 있습니다 (필자는 Worker 모델 클래스에 public 필드를 추가했습니다). 그러나 검색 방법에서 print_r 기준을 사용할 때 조건이 없습니다. 어떻게 가능합니까? 관련 분야별 검색은 어떻게합니까?

EDIT (내 serach() 메소드) :

public function dsearch() 
{ 
    // Warning: Please modify the following code to remove attributes that 
    // should not be searched. 

    $criteria=new CDbCriteria; 

    $criteria->compare('idWorker',$this->idWorker); 
    $criteria->compare('idLeaderType',$this->idLeaderType); 
    $criteria->compare('t.idTeam',$this->idTeam); 
    $criteria->compare('idVoip',$this->idVoip); 
    $criteria->compare('workLogin',$this->workLogin,true); 
    $criteria->compare('workPass',$this->workPass,true); 
    $criteria->compare('name',$this->name,true); 
    $criteria->compare('surname',$this->surname,true); 
    $criteria->compare('madeCalls',$this->madeCalls); 
    $criteria->compare('deleted',$this->deleted); 
    $criteria->compare('liveChanges',$this->liveChanges); 
    $criteria->compare('confirmer',$this->confirmer); 
    $criteria->compare('oldWorkerNum',$this->oldWorkerNum); 
    $criteria->compare('idDepart',$this->idDepart); 
    $criteria->compare('Team.name', $this->teamName, true); 
    $criteria->with=array('Team'); 
    $criteria->together = true; 

    return new CActiveDataProvider($this, array(
     'criteria'=>$criteria, 
    )); 
} 
+0

이 튜토리얼을 통해 작업 해 보셨습니까? http://www.yiiframework.com/wiki/281/searching-and-sorting-by-related-model-in-cgridview/ – Kai

+0

'teamName' 속성을 당신의 모델 규칙에서 안전합니까? – dInGd0nG

+0

@ dInGd0nG - 예. – Joe

답변