【发布时间】:2026-01-31 21:00:01
【问题描述】:
我有一个实体 Rental,它连接了一个实体 Room,实体 Room 连接和实体 Bed。如何归档以通过一个查询加载所有内容?实际上,使用以下代码实体 Bed 将被延迟加载。所以我有不止一个查询。
$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 “[Semantical Error] line 0, col 180 near 'RentalBeds WITH': Error: Class Rental\Entity\Rental has no association named dates”。
而且例外是正确的,因为实体 Rental 没有名为 Beds 的关联。房间实体具有名为beds 的关联。
【问题讨论】:
标签: mysql doctrine-orm doctrine entity left-join