Forms symfony2过滤器与Lexik表单过滤器捆绑:
我有实体诊所 表格类型: 控制器设置Forms symfony2过滤器与Lexik表单过滤器捆绑:,forms,symfony,filter,Forms,Symfony,Filter,我有实体诊所 表格类型: 控制器设置 public function indexAction(Request $request) { $em = $this->getDoctrine()->getManager(); $entities = $em->getRepository('AgriHealthAhpBundle:Clinic')->findAll(); $filter = $this->renderFilter($request)
public function indexAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository('AgriHealthAhpBundle:Clinic')->findAll();
$filter = $this->renderFilter($request);
return $this->render('AgriHealthAhpBundle:Clinic:index.html.twig', array(
'entities' => $entities,
'form' => $filter
));
}
private function renderFilter(Request $request)
{
$form = $this->get('form.factory')->create(new ClinicFilterType());
if ($request->query->has($form->getName())) {
// manually bind values from the request
$form->submit($this->get('request')->query->get($form->getName()));
// initialize a query builder
$filterBuilder = $this->get('doctrine.orm.entity_manager')
->getRepository('AgriHealthAhpBundle:Clinic')
->createQueryBuilder('e');
// build the query from the given form object
$this->get('lexik_form_filter.query_builder_updater')->addFilterConditions($form, $filterBuilder);
// now look at the DQL =)
var_dump($filterBuilder->getDql());
}
return $this->render('AgriHealthAhpBundle:Clinic:filter.html.twig', array(
'form' => $form->createView(),
));
}
我要走了
Catchable Fatal Error: Object of class Symfony\Component\Form\FormView could not be converted to string
我是否忽略了表单类中的某些内容?如何在
filter.html.twig
中呈现表单?也许你的模板有输入错误。基本lexik过滤器表单渲染可能如下所示:
<form method="get" action=".">
{{ form_rest(form) }}
<input type="submit" name="submit-filter" value="filter" />
</form>
{{form_rest(form)}
<form method="get" action=".">
{{ form_rest(form) }}
<input type="submit" name="submit-filter" value="filter" />
</form>