У меня есть два класса - Page и SiteVersion, которые имеют отношение "многие ко многим". Только SiteVersion знает связи (поскольку сайт является модульным, и я хочу иметь возможность убирать и опускать модуль, которому принадлежит SiteVersion).
Как мне выбрать страницы на основе критериев SiteVersion?
Например, это не работает:
SELECT p FROM SiteVersion v JOIN v.pages p WHERE v.id = 5 AND p.slug='index'
Я получаю сообщение об ошибке:
[Doctrine\ORM\Query\QueryException]
[Semantical Error] line 0, col -1 near 'SELECT p FROM': Error: Cannot select entity through identification variables without choosing at least one root entity alias.
Хотя я могу выбрать «v» в этом запросе.
Думаю, я мог бы решить эту проблему, введя класс для отношения (класс PageToVersion), но есть ли способ не делать этого или сделать его двунаправленным?