Example #1
0
 public function getRanking(Categoria $categoria = null, Usuario $usuario = null)
 {
     if (!$categoria) {
         return false;
     }
     $sql = "\n        SELECT p.id, p.nombre AS nombre, avg(v.posicion) AS posicion \n        FROM participante p \n        INNER JOIN categoria c\n        ON c.id = p.categoria_id\n        AND c.id = " . $categoria->getId() . "\n        LEFT JOIN voto v \n        ON v.participante_id = p.id \n        ";
     if ($usuario) {
         $sql .= "AND v.usuario_id = '" . $usuario->getId() . "'";
     }
     $sql .= "\n        GROUP BY p.id, p.nombre\n        ORDER BY ISNULL(posicion), posicion, p.nombre\n        ";
     $rsm = new ResultSetMapping();
     $rsm->addScalarResult('id', 'id');
     $rsm->addScalarResult('nombre', 'nombre');
     $rsm->addScalarResult('posicion', 'posicion');
     $query = $this->getEntityManager()->createNativeQuery($sql, $rsm);
     return $query->getResult();
 }
 /**
  * Creates a form to delete a Usuario entity.
  *
  * @param Usuario $usuario The Usuario entity
  *
  * @return \Symfony\Component\Form\Form The form
  */
 private function createDeleteForm(Usuario $usuario)
 {
     return $this->createFormBuilder()->setAction($this->generateUrl('usuario_delete', array('id' => $usuario->getId())))->setMethod('DELETE')->getForm();
 }