У меня есть модель Doctrine (Assignment
), которая имеет отношение "много к одному" с другой моделью (Region
). Присвоения принадлежат пользователям (каждый пользователь имеет только одно задание по региону за раз), и я пытаюсь использовать indexBy
для того, чтобы пользовательский массив назначений определялся идентификатором области назначения. Тем не менее, я получаю только стандартные 0..n числовые ключи.
Когда я пытаюсь запустить DQL-запрос, например SELECT am, reg, user FROM Assignment am INDEX BY [...] JOIN am.region reg JOIN am.user user WHERE user.id = ?1
, ни одно из этих значений для INDEX BY не работает:
-
Region
(Ошибка: Invalid PathExpression. Должно быть выражение StateFieldPathExpression.) -
region_id
(Ошибка: Class...\Assignment не имеет поля или ассоциации с именем region_id) -
region.id
(Ошибка: ожидаемый конец строки, полученный '.')
Возможно ли это? Если нет, то какой удобный способ получить доступ к присваиванию User
в области без indexBy
?