【问题标题】:symfony : myUser class => How to access custom propertysymfony : myUser 类 => 如何访问自定义属性
【发布时间】:2011-06-02 10:26:41
【问题描述】:

我已启用 sfDoctrineGuardPlugin,因此我将 myUser 类更改为我的类扩展 sfGuardSecurityUser

我已经覆盖了 sfGuardUser 架构来添加我自己的关系

Personnage:
      local: id
      foreign: user_id
      type: one
      onUpdate: CASCADE
      onDelete: CASCADE

生成模型时,如果继续 BasesfGuardUser.class.php,我可以在 PHPDoc cmets 中看到我的关系已创建,并且属性 Personnage 已添加。

 * @property Personnage $Personnage

但我不明白,当我尝试访问此属性时,我不能。

在控制器中:

$user = $this->getUser();
$user->Personnage;

在视图中:

echo $sf_user->Personnage

还有错误:

Notice: Undefined property: myUser::$Personnage

如何访问此属性?

【问题讨论】:

    标签: symfony1 sfdoctrineguard


    【解决方案1】:

    您混淆了两件事:myUser,又名。会话,以及学说用户,又名。用户的数据库记录。

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

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

    另请参阅 Gentle Introduction to symfony 一书中关于user sessions 的部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-12
      • 2011-07-19
      • 1970-01-01
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      相关资源
      最近更新 更多