Haciendo consultas parametricas con Doctrine 2

La funcion se carga en los repositorios del modelo para asi crear metodos reutilizables, fabricando pequeñas consultas para crear consultas mas elavoradas, el parametro se setea en esta linea "$zc->setParameter('id', $oid);" pasandole a la consulta el parametro que resibe desde la funcion. Acá "$result = $zc->getArrayResult();" le decimos que queremos los resultados en un Array, por otra parte si queremos un objeto ponemos "$result = $zc->getResult();" a demas de hacer Left Joins con varias tablas, para graficarlo de mejor manera, y para que no se caiga el metodo si la consulta devuelve vacio se pesquiza si existe el Array o el Object.







lol.php



<?php
public function getTecnicoByOrden($oid) {

$dql = "SELECT te.nro_tecnico as numero, cl.nombre as clasificacion,
ar.nombre as area, te.nombre as nombre

FROM entities\Orden o
LEFT JOIN o.zonacontrato_id zc
LEFT JOIN o.trabajo_id tr
LEFT JOIN tr.clasificacion_id cl
LEFT JOIN tr.area_id ar
LEFT JOIN zc.tecnico_id te

WHERE o.id = :id";

$zc = $this->_em->createQuery($dql);
$zc->setParameter('id', $oid);
$result = $zc->getArrayResult();
if (empty($result)) {

return False;
} else {

return $result[0];
}
}
?>


Comentarios

Entradas populares