我有两个实体 ServeApp 和 App。它们都与 AppPage 有关系。我正在尝试获取具有 AppPages 而 App 没有的 ServeApps。
因此,ServeApps.appPages 不应包含与 Apps.appPages 相同的 AppPages。
我正在尝试编写一个类似于以下内容的 DQL 查询
SELECT ServeApps WHERE ServeApps.appPages NOT IN Apps.appPages
但我不知道该怎么做。我试过 $queryBuilder->whereNotIn() 但我猜那个方法不存在?
任何帮助,将不胜感激 :)
编辑:
我最终改变了我的方法。由于 AppPages 与 ServeApps 和 Apps 有多对多的关系,我做了以下事情:
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。