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?