一尘不染

在Doctrine Symfony中使用UNION进行SQL查询

sql

我对Doctrine Symfony中SQL查询的翻译有疑问。我想做这样的事情:

SELECT m.*
FROM member m
INNER JOIN (
  SELECT id_member
  FROM friend
  WHERE id_friend=99
  UNION
  SELECT id_friend
  FROM friend
  WHERE id_member=99
) a ON m.id=a.id_member 
WHERE m.visible=1

在此示例中,我搜索用户99的所有朋友。

My tables :

Member: (id, name, visible)
Friend: (id, id_member, id_friend, active)

精度:我想使用Symfony传呼机。

一个解法 ?谢谢 !


阅读 151

收藏
2021-03-10

共1个答案

一尘不染

DQL不支持UNION,但是您可以使用RAW SQL->发出查询

$q = Doctrine_Manager::getInstance()->getCurrentConnection();
$result = $q->execute(" -- RAW SQL HERE -- ");
2021-03-10