Version 1: Typeless form
Inside the controller:
$q = $request->query->get('q');$data = array('q' => $q);
$searchForm = $this->get('form.factory')->createNamedBuilder('', 'form', $data, array('csrf_protection' => false,'method' => 'GET',))->add('q', 'text', array('required' => false,))->getForm();if($q) {$data = $searchForm->handleRequest($request)->getData();$qb->andWhere($qb->expr()->like('name', ':q'))->setParameter('q', $data['q']);}
return $this->render('@Bundle:Entity:index.html.twig', array('searchForm' => $searchForm->createView()));
Version 2: using FormType
Inside controller:$filterForm = $this->createForm(new SomeFilterType(), null, array(
'method' => 'GET',
));
$filterForm->handleRequest($request);
if ($filterForm->isValid()) {
$name = $filterForm->get('name')->getNormData();
// …
}
No comments:
Post a Comment