2013-11-23 78 views
0


我有一個問題 - 我如何獲取和顯示參考模型在列表中的數據?
引用的表結構(模型用戶):模型參考和Lister

ID |登錄|密碼| realName |電子郵件


參考邏輯(型號後):

$this->hasOne('User', 'author'); 

模板:

Author: <?realName?><?/?> 

不過是空的,什麼我做錯了,我怎麼能解決這個問題?

回答

0

最簡單的方法可能做到這一點是:

  • 組實名場在用戶模式標題字段(相當合乎邏輯)
  • 和簡單地使用標題字段利斯特(應該是自動)

因此,在用戶模式,你必須添加:

public $title_field = 'realName'; 

而且在列表呃大概$lister->setModel($user_model)應該夠了。

編輯: 如果你想從相關模型添加字段(假設電子郵件)在您的網格中,那麼您可以在郵政模型中使用leftJoin,這樣的(未測試):

class Model_Post extends SQL_Model{ 

function init(){ 
    parent::init(); 
    // ... define your fields 

    // add left join to related TABLE (not model) 
    $join_users = $this->leftJoin('user', 'author_id'); 

    // add field from joined table (not model) 
    $join_users->addField('email'); // it's not $this->addField(), but $join->addField() !!! 
} 
} 

這將在您的Post模型中創建字段電子郵件,並將從相關表中填充值。

+0

好的,但如果我想使用refed模型的電子郵件,我該怎麼做? – Rakshazi