7

Doctrine2 DQL 允许以下SQL

$query = $em->createQuery('SELECT u.id FROM CmsUser u WHERE :groupId MEMBER OF u.groups');
$query->setParameter('groupId', $group);
$ids = $query->getResult();

MySQL 数据库是否支持MEMBER OF子句?

此外,关注前面的例子,$group 是实体“Group”的 id 还是“Group”实体本身的实例?

4

2 回答 2

7

MEMBER OF是一个纯粹的 ORM 条款,与它无关,DBAL因此它应该适用于任何供应商。

MEMBER OF应该接受一个实体,但也可能接受一个identifier

于 2012-06-18T09:22:48.067 回答
6

我检查了SQL生成的 withMEMBER OF子句:

SELECT *fields*
    FROM Page p0_ 
    WHERE 
       EXISTS (
          SELECT 1 
          FROM post_rubric p4_ 
          INNER JOIN Page p3_ 
             ON p4_.rubric_id = p3_.id 
          WHERE p4_.post_id = p0_.id AND p3_.id = ?
       )

这就是 Doctrine 将MEMBER OF子句翻译成的一种方式SQL

于 2014-08-13T16:08:34.290 回答