Evite carregar preguiçosamente Doctrine Symfony2

Eu tenho duas entidades no meu projeto: Usuário e Avatar.

O usuário possui Avatar com uma relação OneToOne.

Avatar é uma entidade com um objeto de arquivo e um nome de arquivo. Ele usa @ORM \ HasLifecycleCallbacks para salvar o arquivo ou removê-lo, conforme descrito emDocumentação do Symfony2.

No meu controlador, quero remover a entidade Avatar do usuário atual (eu uso$currentUser = $this->get('security.context')->getToken()->getUser()), mas não consigo obter o avatar com$currentUser->getAvatar() :

var_dump($currentUser->getAvatar());exit;

Resultado :

object(Proxies\__CG__\Participso\UserBundle\Entity\Avatar)[355]
    public '__initializer__' =>
object(Closure)[348]
    public '__cloner__' =>
object(Closure)[349]
    public '__isInitialized__' => boolean false
    private 'id' (Participso\UserBundle\Entity\Avatar) => int 20
    public 'file' => null
    private 'fileName' (Participso\UserBundle\Entity\Avatar) => null

Mas se eu fizer

$whatever = $currentUser->getAvatar()->getFileName();
var_dump($currentUser->getAvatar());exit;

Resultado :

object(Proxies\__CG__\Participso\UserBundle\Entity\Avatar)[355]
    public '__initializer__' =>
object(Closure)[348]
    public '__cloner__' =>
object(Closure)[349]
    public '__isInitialized__' => boolean false
    private 'id' (Participso\UserBundle\Entity\Avatar) => int 20
    public 'file' => null
    private 'fileName' (Participso\UserBundle\Entity\Avatar) => string 'd4e5eadd3757498a22b14ad1f81869c2baf459d3.png'

Isso é muito chato ... Alguém tem alguma pista para evitar isso?

questionAnswers(1)

yourAnswerToTheQuestion