Consultas con un maximo de resultados Doctrine 2

Bueno Esta consulta hace unos left joins a las tablas que necesito, y con un max result para poder
paginar los resultados, esta manera de setear parámetros es mas segura que insertar variables a
nuestro código dql, bueno esta mas decir que esto va dentro del repositorio de la entidad correspondiente de nuestra instalacion de doctrine, por otro lado recomiendo el uso de Orm Designer para poder modelar nuestra base y clases, este es para windows pero en su pagina muestran como hacerlo funcionar con wine (sin hacer nada jajaj), bueno sin mas que decir dejo el segmento de applicacion.







Sin título



<?php
public function getObsByOrden($ord_id,$maxResults){
//$this->_em->getConfiguration()->setSQLLogger(new \Doctrine\DBAL\Logging\EchoSQLLogger());
$datos = $this->_em->createQuery('select ob, o, e, sub, u
from \entities\Observacion ob
LEFT JOIN ob.usuario_id u
LEFT JOIN ob.orden_id o
LEFT JOIN ob.estado_id e
LEFT JOIN ob.subestado_id sub

WHERE ob.orden_id = :oid ORDER BY ob.fecha_hora desc')
->setParameter('oid',$ord_id)
->setMaxResults($maxResults)
->getScalarResult();
return $datos;
}
?>





pd: la linea que esta comentada sirve para ver la consulta nativa que crea doctrine por detras de bambalinas jajaja deben tener seteado el EntitiManager o em al inicio de la clase para poder llamarla $this->algo, nos leemos en una proxima entrada.

Comentarios

Entradas populares