2013-11-23 128 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