2015-01-14 4 views
0

Мне нужна помощь в создании отношения модели к таблице с составным ключом. У меня есть следующие две модели:Отношение модели с составным ключом

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

и

ModelTwo (
    parent_type, 
    parent_id, 
    ... 
) 

В ModelTwo I`ve уже переопределить первичный ключ:

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

Как я могу определить отношение в ModelOne к получить соответствующий ModelTwo? (1 к 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

Смежные вопросы