2014-01-14 55 views
0

從第二張表中獲取記錄!有兩個模型類 1-Usermaster 2-Userinstances usermaster有多個userinstances。無法使用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') 
     ); 
    } 


在MyControl ler.php

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

但僅從Usermaster和userinstances爲空白陣列給予備案,有什麼不對的在我的代碼?

+0

您是否嘗試過「一起」選項? –

+0

在一個關係中,總是提到一個FK,而不是你在第一個模型中所做的PK; –

回答

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 –

+0

嗨veelen, 它的工作對我來說,我已經改變了外鍵,也改變了第一個到HAS_MANY和第二個到HAS_ONE。 – user3176461

+1

@ user3176461你應該將它標記爲答案 –