Hola a totos, esta consulta que hago me inquieta, porque los css y js andan bien, pero cuando filtro en lugar de mostrarme según lo que escribo, me muestra todos los datos.
PaisRepository:
public function findByFilter($dato){
$em = $this->getEntityManager();
$query = $em->createQuery("select p from App\Entity\Pais p where p.nombre like :nombre")
->setParameter('nombre', '%'.$dato.'%');
return $query->getResult();
}
PaisController:
/**
* @Route("/search", name="pais_search", methods={"GET"})
*/
public function search(Request $request){
$items = [];
$em = $this->getDoctrine()->getManager();
$criterio = $request->request->get('q');
$paises = $em->getRepository(Pais::class)->findByFilter($criterio);
foreach($paises as $pais){
$items[] = [
'id' => $pais->getId(),
'text' => $pais->getNombre()
];
}
return new JsonResponse($items);
}
DepartamentoType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nombre',TextType::class,[
"label" => "Nombre (*): ",
"required" => "true",
"empty_data" => '',
"attr" => [
"class" =>"form-control"
]
])
->add('pais', Select2EntityType::class,[
"label" => "País (*): ",
"remote_route" => 'pais_search',
"class" => Pais::class,
"allow_clear" => true,
"placeholder" => "Seleccione País"
])
;
}
La verdad no sé si me falta algo o estoy haciendo algo mal. Pongo una foto para que bien a que me refiero.
Espero su respuesta y gracias.