Попробуйте это или подобное для вашего DQL:
SELECT a.a_id, t.b_id, t.b_name, t.b_attr FROM Entity-B t LEFT JOIN t.a_name a INDEX BY a.id WHERE a.a_id IN (:ids)
Мы просто добавляем объединение в Entity-A, включаем a.id в выборку и затем индексируем по a.id.
Поскольку мы работаем с сущностями в доктрине, нам нужно присоединиться к сущности, чтобы получить ее идентификатор, а затем проиндексировать ее. Кроме того, наименование ваших свойств в каждой сущности может быть более простым и интуитивно понятным. Поэтому вместо того, чтобы Entity-A (a) имел свойства a_id
, a_attr
и т. Д., Просто используйте id
, attribute
и т. Д. Я предполагаю, что вы просто обобщили свой код для вопроса и, возможно, у вас есть более приятные имена свойствв вашем проекте.
Дайте мне знать, как этот DQL работает для вас.