Разбираюсь с DQL
Есть три связанные сущности (маппинг описан в XML - если требуется приложу)
class Order
{
private ?int $id = null;
}
class Guest
{
public function __construct(public Order $order, public Person $person, public OrderStatus $status)
{
}
}
class OrderStatus
{
private ?int $id = null;
private ?string $name = null;
}
Составляю запрос DQL (запрос в репозиторий Order)
$query = $this->createQueryBuilder('o')
->leftJoin(
Guest::class,
'g',
\Doctrine\ORM\Query\Expr\Join::WITH,
'o.id = g.order and g.person = :personId'
)
->addSelect('IDENTITY(g.status) as status')
->addSelect('o.id')
->setParameters([
'personId' => 10
]);
Т.е. выборка необходима именно из заказов, но так же мне необходимо вытащить и поле status сущности Guest.
Если выполнить как приведено выше, то возвращается null в статус . Хотя в БД все заполнено.
Что необходимо еще сделать?
В принципе достаточно даже живьем вытащить status_id (поле из таблицы где храниться Guest) - или тут уже если я использую DQL то работать можно только с сущностями?