Doctrine использует прокси-объекты для представления связанных объектов, чтобы облегчить ленивую загрузку. Это действительно хорошая функция, но она вызывает проблему с тем, что я пытаюсь сделать.
Я настроил свой объект пользователя так, что все они должны быть связаны с другим объектом, который я назову city. Эта связь работает нормально.
У меня есть форма, которую заполняет пользователь, чтобы создать другой объект, улицу. Улица также связана с объектом city. Вместо того чтобы заставлять пользователя выбирать город при заполнении формы, я хочу автоматически установить его перед сохранением объекта в базе данных.
Я пытался использовать $event->setCity($user->getCity())
, но поскольку $user->getCity() возвращает прокси-объект, это приводит к ошибке. Есть ли функция, которую я могу вызвать из прокси-объекта, чтобы получить реальный объект?
Примечание: я знаю, что могу создать пользовательский запрос с join, чтобы заставить doctrine действительно загрузить связанный объект, но поскольку это пользователь (использующий FOSUserBundle), это будет трудно сделать правильно.