我已经启用了sfDoctrineGuardPlugin,所以我将myUser类改为扩展了sfGuardSecurityUser的类。
我已经覆盖了sfGuardUser模式以添加我自己的关系
Personnage:
local: id
foreign: user_id
type: one
onUpdate: CASCADE
onDelete: CASCADE当模型生成时,如果在BasesfGuardUser.class.php上运行,我可以在PHPDoc注释中看到我的关系已经创建,属性Personnage已经添加。
* @property Personnage $Personnage但是我不明白当我试图访问这个属性的时候,我不能。
在控制器中:
$user = $this->getUser();
$user->Personnage;视图中:
echo $sf_user->Personnage以及错误:
Notice: Undefined property: myUser::$Personnage如何访问此属性?
发布于 2011-06-02 19:38:24
你混淆了两样东西: myUser,又名。会话,和教义用户,也就是。用户的数据库记录。
在symfony项目中,myUser类表示当前会话( $_SESSION超级全局之上的包装器)。
您可以通过$this->getUser()->getGuardUser()访问控制器中的数据库记录,因此您的关系将作为$this->getUser()->getGuardUser()->Personnage工作。
另请参阅《温和的symfony简介》一书中关于user sessions的部分。
https://stackoverflow.com/questions/6213290
复制相似问题