symfony2和doctrine2中的SQL查询

时间:2011-11-18 21:20:10

标签: sql symfony doctrine-orm

我正在尝试在Doctrine 2(Symfony2 Framework)中创建一个SQL查询,我需要一些帮助。 我在表Movie_Person中有两个表Movie和Person关系很多。

我想找一个电影中扮演的人。如此清晰的SQL应如下所示:

SELECT p.* FROM Person p WHERE EXISTS 
                (SELECT m.* FROM Movie_Person m WHERE p.id = m.person_id)

如何在Symfony2 + Doctrine2中写这个?

1 个答案:

答案 0 :(得分:6)

取自the docs

的示例
$query = $em->createQuery('SELECT u.id 
                             FROM CmsUser u 
                            WHERE EXISTS (SELECT p.phonenumber 
                                            FROM CmsPhonenumber p 
                                           WHERE p.user = u.id)');
$ids = $query->getResult();

重要提示:请记住,这是 NOT SQL 。它是 DQL 。主要区别在于您对对象和属性进行操作,而不是数据库表和字段。