SQL到DQ,使用子选择

时间:2017-01-07 13:06:21

标签: symfony dql

我试图将SQL函数转换为DQL函数。

我不知道如何执行以下步骤:

  • 加入多个班级
  • 加入临时表(由学说创建)
  • 在我的功能中调用子选择

这是我实际工作的SQL代码。

SELECT ut.token
FROM user_token ut
INNER JOIN factory f ON f.id = ut.factory_id
INNER JOIN article_factory af ON af.factory_id = f.id
INNER JOIN article a ON a.id = af.article_id
WHERE ut.factory_id = (
    SELECT f.id
    FROM factory f
    INNER JOIN article_factory af ON af.factory_id = f.id
    INNER JOIN article a ON a.id = af.article_id
    WHERE a.id = :article
)
GROUP BY ut.token

如果是,这里是我的表格关系的屏幕。

article_factory 不是实体或类。当我指定了ManyToMany关系时,为文章和工厂之间的关系创建了 article_factory

编辑:尝试通过简单的SQL,但是在文章和死亡之间建立链接的问题,因为DQL只知道实体,而且Doctrine正在创建一个我无法使用的表。使用DQL,我仍然遇到与上述相同的问题,我不知道如何正确加入我的课程,并进行子选择。

Table relations

0 个答案:

没有答案