Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[SOLUCIONADO] Duda Doctrine

Estas en el tema de Duda Doctrine en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, Tengo una duda con Doctrine, no encontre una seccion particular de Doctrine, asi que si no corresponde aqui, agradeceria moverlo. Bueno, la duda es ...
  #1 (permalink)  
Antiguo 29/04/2013, 16:31
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Pregunta Duda Doctrine

Hola,

Tengo una duda con Doctrine, no encontre una seccion particular de Doctrine, asi que si no corresponde aqui, agradeceria moverlo.

Bueno, la duda es la siguiente, una misma consulta puedo hacerla de dos maneras:

1)

Código SQL:
Ver original
  1. $dql = "SELECT o
  2.                 FROM ANPortalBundle:Oferta o               
  3.                 WHERE o.estadoid = 1";
  4.  
  5.             $query = $em->createQuery($dql);
  6.    
  7.             $retorno = $query->getResult();

O con funciones de Doctrine

2)

Código SQL:
Ver original
  1. $q = $this
  2.             ->createQueryBuilder("o")
  3.             ->WHERE("o.estadoid = 1")
  4.             ->getQuery()
  5.         ;
  6.  
  7. $retorno = $q->getResult();

Mi duda es finalmente en que afecta que se haga de la primera forma o de la segunda? porque en cuanto a rendimiento en mi local por ejemplo, pesa un poco menos la primera (obviamente), se debera a un tema de que al hacerlo de la primera forma se pierde la "portabilidad" que brinda Doctrine??

En conclusion es mejor ocupar las funciones que nos brinda Doctrine VS escribir la consulta textualmente??

Agradezco de ante mano su ayuda.

Saludos
  #2 (permalink)  
Antiguo 29/04/2013, 17:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Duda Doctrine

Pues es eso, justamente, en un futuro si la forma que se construye el DQL cambiará (por ejemplo algún keyword) pues evidentemente sería más fácil cambiar una clase, a cambiar todos tus DQLs pero es algo que dudo que pase.

Ahora una de las ventajas de hacerlo de la segunda forma es el poder construirla de forma dinámica en base a ciertos eventos de tu programa, cosa que concatenando strings no es lo más limpio.
  #3 (permalink)  
Antiguo 29/04/2013, 17:17
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Respuesta: Duda Doctrine

Mmmmmm..

Claro, pero aun asi con la primera forma puedes ocupar el "setParameter", aunque obviamente es mas facil ocupar join en la primera forma.

Pense que podria haber algo mas alla, gracias :)
  #4 (permalink)  
Antiguo 29/04/2013, 17:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Duda Doctrine

Claro, exacto son varias formas de hacerlo, es como una navaja, tiene muchas herramientas, y tienes que ocupar la que más se adecue
  #5 (permalink)  
Antiguo 29/04/2013, 17:28
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Respuesta: Duda Doctrine

Oka, perfect, muchas gracias.

Saludos

Etiquetas: bases-de-datos-general, doctrine, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:34.