2016-09-13 18 views
1

У меня есть проблема, и, конечно, я не понимаю :) (и, конечно, им французский :)Некоторые свойства объекта являются недействительными

На столе «Evenement» я пользователь связан. И когда я делаю:

$repository = $this->getDoctrine()->getManager()->getRepository('AppBundle:Evenement'); 
$evt = $repository->findOneById($evt); 
dump($evt) 

Все нормально, я могу прочитать мой EVT, но когда профилировщика я нажимаю на дочерний объект «пользователь», все имущество равны нулю (за исключением идентификаторов, usermail, почты, пароль)

и его то же самое, когда я делаю:

dump($evt->getUser()); 

Почему все имущество не заполнены?

спасибо и извините за мой английский.

ответ

1

Это, скорее всего, Lazy Loading. Свойства не считываются из БД, если они вам не нужны.

Попробуйте сделать следующее:

$repository = $this->getDoctrine()->getManager()->getRepository('AppBundle:Evenement'); 
$evt = $repository->findOneById($evt); 
$evt->getUser()->getRoles(); // Ot whatever properties your user has. 
dump($evt) 

В этом случае свалка будет показывать это свойство заполняется.

+0

Да, это сработало, если я сбрасываю ($ evenement-> getUser() -> getCodePostal()); :! но как я могу заселить все имущество всего за один раз? – Hesiode

+0

Зачем вам это нужно? Просто проверить его через свалку? –

+0

просто поместите объект в сеанс для использования в ветке, например {{app.session.get ('evt'). User.email}} – Hesiode

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