У меня есть объект $ user, который имеет отношение «один к большому» с $становкой. Я могу использовать:Настроить ненасыщенное отношение в Doctrine 2
$user->getEstablishments();
Пользователь может выбрать элемент, над которым будет работать. У меня есть этот метод, который я называю в контроллере:
$user->setCurrentEstablishment($establishment);
И это тот, который я называю в представлении:
$establishment = $user->getCurrentEstablishment();
Я хочу, чтобы быть в состоянии назвать:
$user->setCurrentEstablishmentBy Slug($establishment_slug);
где slug - это строка, и пусть объект пользователя ищет установление.
Doctrine препятствует практике доступа к Менеджеру сущности внутри объекта Entity, но я думаю, что использование его в контроллере еще хуже.
Я подозреваю, что существует какая-то специальная аннотация для Doctrine, которая заботится о ненастоящих отношениях, подобных этому, или какой-либо метод, отличный от обслуживания администратора Entity через службу, должен использоваться здесь. Простой способ ссылки на другие объекты внутри модели.
¿Есть ли какие-либо? ¿Как я мог это сделать?
Почему вы думаете, с помощью диспетчера сущностей в контроллер плохо? – Cerad
Вы должны это сделать в контроллере или в сервисе (например, UserService - вам нужно будет его создать). –
Это не значит, что использование диспетчера сущности в контроллере плохое. Дело в том, что сущность должна предоставить вам некоторые связанные данные о себе, если вы не будете сами их собирать в контроллере. Точно так же, как это дает вам обычные постоянные отношения, он должен давать вам время выполнения, не стойкие отношения, как, например, в моем примере связанную запись с помощью slug. Просто мое мнение. –