У меня есть компания Аренда, которая присоединяется к сущности Комната и сущность Комната соединяется и сущность. Как я могу архивировать для загрузки всего одним запросом? На самом деле со следующим кодом объект Bed будет загружен ленивым. Поэтому у меня есть еще несколько запросов.Doctrine 2 Присоединиться к сущности, которая присоединяется к объекту
$qb->select('Rental', 'RentalRooms')
->from('Rental\Entity\Rental', 'Rental')
->leftJoin('Rental.rooms', 'RentalRooms')
->where($qb->expr()->eq('Rental.slug', ':slug'))
->setParameter('slug', $slug);
Я пробовал так:
$qb->select('Rental', 'RentalRooms', RentalBeds)
->from('Rental\Entity\Rental', 'Rental')
->leftJoin('Rental.rooms', 'RentalRooms')
->leftJoin('RentalRooms.beds', 'RentalBeds')
->where($qb->expr()->eq('Rental.slug', ':slug'))
->setParameter('slug', $slug);
Но чем я получаю Doctrine \ ORM \ Query \ QueryException «[Семантическая Error] строка 0, столбец 180 вблизи 'RentalBeds с': Ошибка: Аренда класса \ Сущность \ Аренда не имеет ассоциации названных кроватей ".
И исключение является правильным, поскольку компания не имеет ассоциации с названными кроватями. У объекта комнаты есть ассоциация, названная кроватями.