У меня есть модель 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?