我有一个表'评论',调查有一个字段引用另一个表'sf_guard_user'。在我放
的那一刻<?php echo $investigationComment->getUserId() ?>
我得到外表行的id值。我希望能够获得名称字段值。
在我的项目中的其他地方,我能够从getUserId()中省略id,然后put-&gt; getName()并且它带给我那个字段值,但是为此它不会出于某种原因这样做。如何获取外键行的名称值?
答案 0 :(得分:5)
首先获取关系对象,然后调用该关系的任何属性。
<?php echo $comment->getUser()->getName() ?>
如果你在关系中定义了一个别名'User',这将有效:
//config.yml
Comment:
relations:
sfGuardUser:
alias: User
foreignAlias: Comments
local: user_id
foreign: id
或
//config.yml
Comment:
relations:
User:
class: sfGuardUser
foreignAlias: Comments
local: user_id
foreign: id
答案 1 :(得分:0)
最简单的方法是添加以下外国实体类
public function __toString(){
return $this->getAPropertyOnYourEntity();
}
现在,不是返回ID,实体可以从__toString()函数返回任何所需的属性。