2015-11-03 6 views
1

Я пытаюсь найти способ получить текущий зарегистрированный пользователь с дополнительными данными без запуска другого запроса, например, скажем, каждый пользователь имеет отношение к сообщениям много, поэтому, если я запустить в контроллере $ user = $ this-> getUser(); $ userMessages = $ user-> getMessages(); Мне нужно запустить два запроса, я ищу способ заставить \ изменить функцию getUser для предварительной загрузки данных с помощью инструкции join.войти в систему со связанными данными

+1

'выборки =«EAGER»' все равно будет приводить к двум запросам, как доктрина выбирает объекты, реф Http: // StackOverflow. com/questions/18159333/doctrine2-eager-load-runs-multiple-queries-than-of-1 – Rooneyl

ответ

3

Просто написать свой собственный запрос, чтобы загрузить пользователя и добавить РЕГИСТРИРУЙТЕСЬ

http://symfony.com/doc/current/cookbook/security/entity_provider.html#using-a-custom-query-to-load-the-user

+0

Похоже на решение, которое я искал, я проверю его, если работаю должным образом, я буду отмечать как ответ, спасибо :) – user2326568

+0

Этот ответ был прав, хотя после изучения в нем я понял, что мой вопрос был неправильным, мне нужно использовать разные объединения для каждого контроллера, я пытался найти в документации, как это сделать, хотя не могу найти это, если вы можете помочь мне, чтобы это было здорово, спасибо. – user2326568