同一桌上的多对多关系

时间:2015-06-11 13:05:00

标签: sql symfony dql

我尝试从many-to-many表中获取所有相关记录。

我有两张桌子:

  1. post包含idtitle列。
  2. post2post包含parent_idchild_id列。
  3. post2post在同一张桌子post上有多对多的关系。

    例如,如果post id=1是父post id=2post id=3

    parent_id   child_id
    1           2
    1           3
    

    当我选择post id=3时,我应该post id=1post id=2

    这是我的DQL查询

             SELECT p as post
             FROM AppBundle:Post p
             WHERE p in (
                SELECT parent
                FROM AppBundle:Post p2
                LEFT JOIN p2.parentPost as parent
                WHERE p2 = (:post)
             )
             OR p in(
                SELECT child
                FROM AppBundle:Post p3
                LEFT JOIN p3.childPost as child
                WHERE p3 = (:post)
            )
    

    我知道,这个查询无法正常运行,但这就是我能做的一切

0 个答案:

没有答案