2012-06-25 2 views
1

Я совершенно новый в Symfony, и на самом деле я пытаюсь использовать свой собственный метод из моего user.php в шаблоне. это выглядит следующим образом:FOSUserBundle с использованием собственных методов

{% 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; 
+1

Я думаю, что здесь происходит что-то еще. Он не говорит, что не может найти метод 'getUserImage', он дает другую ошибку. Может понадобиться дополнительная информация для отладки, можете ли вы разместить содержимое 'getUserImage()'? – MDrollette

+0

Пожалуйста, посмотрите мое редактирование –

ответ

1

Вы должны использовать app.user.userimage, поскольку это имя свойства. Это автоматически вызовет getter для свойства (getUserImage).

1

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

Я думаю mappedBy относится к имени поля в вашем UserImage сущности, а не сам объект пользователя.

Cheers

+0

Большое спасибо. Я понял, что у меня опечатка. Переменная $ user в user.php должна быть $ User. –

+0

И я думаю, что вам нужны только изображения одного конкретного пользователя ... «app.user.images» будет получать изображения всех пользователей. – everyman

Смежные вопросы