Foros del Web » Programando para Internet » PHP » Symfony »

Pasar parametros de consulta dql

Estas en el tema de Pasar parametros de consulta dql en el foro de Symfony en Foros del Web. Buenos dias. Estoy tratando de hacer un formulario de consulta pasando un parametro que en este caso es el numero de identificacion del usuario, y ...
  #1 (permalink)  
Antiguo 03/08/2018, 10:35
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Pasar parametros de consulta dql

Buenos dias. Estoy tratando de hacer un formulario de consulta pasando un parametro que en este caso es el numero de identificacion del usuario, y lo presento en una pdf, tengo el script pero no me pasa el parametro a la pagina del pdf, si lo escribo manualmente si me arroja el registro pero si lo coloco como variable me sale un error. Alguien que por favor me colabore:

Código HTML:
Ver original
  1. <form action="{{ path('ppp_reportes_usuariosid') }}" target="blank" method="GET">
  2. <input type="text" name="identificacion" class="form-control">
  3. <button class="btn btn-primary" type="submit">Generar</button>


Código PHP:
Ver original
  1. public function usuariosidAction($identificacion ,Request $request)    
  2.     {
  3.  
  4.         $em = $this->getDoctrine()->getManager();
  5.         $dql = "SELECT u FROM PPPCanBundle:Usuario u WHERE u.role != :name AND u.identificacion = :identificacion";
  6.         $usuarios = $em->createQuery($dql);
  7.         $usuarios->setParameter(':name', 'ROLE_PROPIETARIO');
  8.         $usuarios->setParameter(':identificacion', $identificacion);
  9.         $paginator = $this->get('knp_paginator');
  10.         $pagination = $paginator->paginate(
  11.             $usuarios, $request->query->getInt('page', 1),
  12.             10000
  13.         );
  14.  
  15.  
  16.         $snappy = $this->get("knp_snappy.pdf");
  17.         $html = $this->renderView('PPPCanBundle:Reportes:usuariostodos.html.twig', array('pagination' => $pagination));
  18.         //inicio generar pdf        
  19.         $filename = "custom_pdf_from_twig";
  20.         return new Response(
  21.             $snappy->getOutputFromHtml($html),
  22.             200,
  23.             array(
  24.                 'Content-Type' => 'application/pdf',
  25.                 'Content-Disposition' => 'inline; filename="'.$filename.'.pdf"'
  26.                 )
  27.             );
  28.     }

Error:

Controller "PPP\CanBundle\Controller\ReportesController::usua riosidAction()" requires that you provide a value for the "$identificacion" argument (because there is no default value or because there is a non optional argument after this one).
  #2 (permalink)  
Antiguo 03/08/2018, 11:29
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Pasar parametros de consulta dql

Revisa si en la ruta tambien estas pasando ese dato, si no recupera mediante el objeto Resquest
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 03/08/2018, 21:44
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: Pasar parametros de consulta dql

Si gracias, dejo la solucion por si alguien la necesita

Código PHP:
Ver original
  1. $identificacion = $request->query->get('identificacion');
  2.         $em = $this->getDoctrine()->getManager();
  3.         $dql = "SELECT u FROM PPPCanBundle:Usuario u WHERE u.role != :name AND u.identificacion = :identificacion";
  4.         $usuarios = $em->createQuery($dql);
  5.         $usuarios->setParameter(':name', 'ROLE_PROPIETARIO');
  6.         $usuarios->setParameter(':identificacion', $identificacion);

Etiquetas: parametros
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 20:58.