2015-01-14 4 views
0

복합 키가있는 테이블에 모델 관계를 만드는 데 도움이 필요합니다.복합 키와 모델 관계

ModelOne (
    id, PRIMARY KEY 
    parent_id, 
    parent_type, 
    ... 
) 

및 ModelTwo I`ve 이미 기본 키 오버라이드 (override)에서

ModelTwo (
    parent_type, 
    parent_id, 
    ... 
) 

: I가 ModelOne의 관계를 정의 할 수있는 방법

public function primaryKey() 
    { 
     return array('parent_type', 'parent_id'); 
    } 

을 나는 다음과 같은 두 가지 모델을 가지고 관련 ModelTwo를 얻으시겠습니까? (1 일 관련)

답변

1

난 당신이 필요 같아요

public function relations() { 
    return array(
    'two' => array(self::BELONGS_TO, 'ModelTwo', '', 'on'=>'t.parent_type=modelTwo.parent_type'), 
); 
} 
+0

난의 해결책이 생각 : 자기 :: HAS_ONE, 'ModelTwo', 배열 ('PARENT_ID'=> 'PARENT_ID' , 'parent_type'=> 'parent_type'), – Larry