У меня есть две сущности ServeApp и App. Оба они имеют отношение к AppPage. Я пытаюсь получить ServeApps, у которых есть AppPages, которых нет в приложении.
Поэтому ServeApps.appPages не должен содержать те же AppPages, что и Apps.appPages.
Я пытаюсь написать DQL-запрос, похожий на
SELECT ServeApps WHERE ServeApps.appPages NOT IN Apps.appPages
но я в недоумении, как это сделать. Я попробовал $queryBuilder->whereNotIn(), но я думаю, что этого метода не существует?
Любая помощь будет оценена по достоинству :)
РЕДАКТИРОВАТЬ:
В итоге я изменил свой подход. Поскольку AppPages имели отношение многие ко многим как к ServeApps, так и к приложениям, я сделал следующее:
SELECT sa FROM ServeApps sa WHERE sa.id NOT IN (
SELECT ssa.id FROM AppPage ap JOIN ap.serveApps ssa WHERE ap.id = :apppage
)
Я изменил свою логику, исключив приложения из уравнения, а затем проверил это по-другому. У меня также была версия, в которой я приводил необработанный SQL для подсчета ServeApps.