首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >symfony : myUser类=>如何访问自定义属性

symfony : myUser类=>如何访问自定义属性
EN

Stack Overflow用户
提问于 2011-06-02 18:26:41
回答 1查看 1.2K关注 0票数 0

我已经启用了sfDoctrineGuardPlugin,所以我将myUser类改为扩展了sfGuardSecurityUser的类。

我已经覆盖了sfGuardUser模式以添加我自己的关系

代码语言:javascript
复制
Personnage:
      local: id
      foreign: user_id
      type: one
      onUpdate: CASCADE
      onDelete: CASCADE

当模型生成时,如果在BasesfGuardUser.class.php上运行,我可以在PHPDoc注释中看到我的关系已经创建,属性Personnage已经添加。

代码语言:javascript
复制
 * @property Personnage $Personnage

但是我不明白当我试图访问这个属性的时候,我不能。

在控制器中:

代码语言:javascript
复制
$user = $this->getUser();
$user->Personnage;

视图中:

代码语言:javascript
复制
echo $sf_user->Personnage

以及错误:

代码语言:javascript
复制
Notice: Undefined property: myUser::$Personnage

如何访问此属性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-02 19:38:24

你混淆了两样东西: myUser,又名。会话,和教义用户,也就是。用户的数据库记录。

在symfony项目中,myUser类表示当前会话( $_SESSION超级全局之上的包装器)。

您可以通过$this->getUser()->getGuardUser()访问控制器中的数据库记录,因此您的关系将作为$this->getUser()->getGuardUser()->Personnage工作。

另请参阅《温和的symfony简介》一书中关于user sessions的部分。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6213290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档