【问题标题】:FOSUserBundle using own methodsFOSUserBundle 使用自己的方法
【发布时间】:2012-06-28 00:09:42
【问题描述】:

我是 Symfony 的新手,实际上我正在尝试在模板中使用我自己的 user.php 方法。它看起来像这样:

{% for image in app.user.getUserImage %}
...

但我唯一得到的是:

An exception has been thrown during the rendering of a template ("Notice: Undefined   
index: User
...

到目前为止,我认为我的 user.php(包括我的方法)已扩展到 FOSUserBundle,因此可以在模板中使用。

出于这个原因,我是否必须覆盖 FOSUserBundle 控制器?

@MDrollette:

来自user.php:

 /**
 * Get userimage
 *
 * @return Doctrine\Common\Collections\Collection 
 */
public function getUserimage()
{
    return $this->userimage;
}

 /**
 * @ORM\OneToMany(targetEntity="UserImage", mappedBy="User")
 * @var ArrayCollection $userimage
 */
protected $userimage;

【问题讨论】:

  • 我认为这里发生了其他事情。这并不是说它找不到方法getUserImage 它给出了不同的错误。这里可能需要更多信息来调试,你能把getUserImage()的内容贴出来吗?
  • 请看我的编辑

标签: symfony twig fosuserbundle


【解决方案1】:

您需要使用 app.user.userimage,因为这是属性名称。这将自动调用属性 (getUserImage) 的 getter。

【讨论】:

    【解决方案2】:

    @ORM\OneToMany(targetEntity="UserImage", mappedBy="User")

    我认为 mappedBy 指的是 UserImage 实体中的字段名称,而不是 User 实体本身。

    干杯

    【讨论】:

    • 非常感谢。我发现我有一个错字。 user.php 中的变量 $user 应该是 $User。
    • 而且我认为您只想要一个特定用户的图像...“app.user.images”将获取所有用户的图像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    • 2021-03-30
    • 2011-11-25
    • 2013-02-20
    • 2011-07-07
    • 2014-03-02
    相关资源
    最近更新 更多