yii AR

2014-01-14 3 views
0

을 사용하여 두 번째 테이블에서 레코드를 가져올 수 없습니다! 두 개의 모델 클래스가 있습니다.1-Usermaster 2-Userinstances 여러 사용자 인스턴스가있는 usermaster.
yii AR

- 나는 두 테이블의 모든 관련 기록은, 내가 그
Usermaster.php (모델 클래스)

public function relations() 
    { 
    return array(
     'userinstances' => array(self::BELONGS_TO, 'Userinstances', 'Id') 
    ); 
    } 

userinstances.php (모델 클래스) 같은 짓을하려는

public function relations() 
    { 
     return array(
        'usermaster' => array(self::HAS_MANY, 'Usermaster', 'userMasterID') 
     ); 
    } 


In MyControl

$resultSettmp = Usermaster ::model()->with('userinstances')->findAll(); 

하지만 그것은 단지 Usermaster 및 userinstances 빈 배열에서 기록을주고, 내 코드에서 뭔가 잘못인가를 ler.php?

+0

'together'옵션을 사용해 보았습니까? –

+0

관계에서 항상 첫 번째 모델에서했던 것처럼 PK가 아니라 FK를 언급하십시오. –

답변

0

귀하의 관계가 옳지 않다고 생각합니다. 이런 식으로 시도 : Ubermaster에서

을 :

public function relations() 
{ 
    return array(
     'userinstances' => array(self::BELONGS_TO, 'Userinstances', 'userMasterID') 
    ); 
} 

그리고 userinstances.php (모델 클래스) -

public function relations() 
{ 
    return array(
     'usermaster' => array(self::HAS_MANY, 'Usermaster', 'userMasterID') 
    ); 
} 

은 내가 userinstances 관계에서 외래 키를 변경했습니다.

+0

그리고 나는 형식이 잘못되었다고 생각합니다. 첫 번째는 1 대 1이고 두 번째는 1 대다. –

+0

안녕하세요. 저의 작업은 외래 키를 변경했으며 첫 번째 관계도 변경했습니다. HAS_MANY에 그리고 두번째 것은 HAS_ONE에. – user3176461

+1

@ user3176461 답변으로 표시해야합니다. –