2012-06-18 15 views
5

El Doctrine2 DQL permite la siguiente SQL:¿La cláusula Doctrine2 "MIEMBRO DE" es válida para MySQL dabatase?

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

¿Está el MIEMBRO DE cláusula con el apoyo de una base de datos MySQL?

Además, centrándose en el ejemplo anterior, ¿es $ group el id de la entidad "Group" o es una instancia de la entidad "Group"?

Respuesta

4

MEMBER OF es una cláusula de ORM pura y no tiene nada que ver con el DBAL, por lo que debería funcionar con cualquier proveedor.

Se supone que MEMBER OF acepta una Entidad, pero también puede aceptar un identifier.

3

I comprobado SQL generado con MEMBER OF cláusula:

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 = ? 
     ) 

eso es una Doctrina manera traduce MEMBER OF cláusula en SQL

Cuestiones relacionadas