Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/09/2011, 11:51
Avatar de Uncontroled_Duck
Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años
Puntos: 261
Intentando entender DQL

Buenas,

Pues eso, que por más que hago pruebas, modifico la consulta, y busco ejemplos, no temino de encontrarle lógica al funcionamiento de las consultas DQL en Doctrine2.

En el caso básico vale, más o menos veo como va estructurada, y no resulta complicado entenderla.
Código PHP:
Ver original
  1. $dql = "SELECT u FROM Entity\Users u";
  2. $query = $em->createQuery($dql);
  3. $users = $query->getResult();

Pero si añadimos algún Join, o queremos hacerla más compleja y que tome datos de varios Entities, y solo ciertos campos, con los ejemplos que hay en la documentación no te lo deja muy claro.

Este es uno de los ejemplos de la doc oficial. Pero aquí no hay especificados Entities, y no queda muy claro por ejemplo "a", es alias de que? Está ahí como en tierra de nadie.
Código PHP:
Ver original
  1. $dql = "SELECT u, a FROM Users u JOIN u.address a WHERE a.city = 'Berlin'";
  2. $query = $em->createQuery($dql);
  3. $users = $query->getResult();

Si esta misma consulta la quiero tomar de datos de dos Entities, y solo ciertos campos. Viendo los ejemplos y utilizando la teoría SQL sería una cosa así?
Código PHP:
Ver original
  1. // OneToMany City Users
  2. $dql = "SELECT c.name, u.name FROM Entity\City c
  3.        JOIN Entity\Users u WHERE c.cityId = u.cityId";
Alguien puede aclararme un poco como se estructuran. Ahora mismo ando bastante perdido y siempre me da errores de sintaxis cuando intento hacer un JOIN. Como he dicho antes, por mas que lo intento no le encuentro la lógica para construirla correctamente.

Gracias de antemano. Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight