I have entity Clinic,
Form Type:
namespace AgriHealth\AhpBundle\Form\Type\Clinic;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class ClinicFilterType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name', 'filter_text');
}
public function getName()
{
return 'item_filter';
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'csrf_protection' => false,
'validation_groups' => array('filtering') // avoid NotBlank() constraint-related message
));
}
}
controller setup
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(),
));
}
I'm getting
Catchable Fatal Error: Object of class Symfony\Component\Form\FormView could not be converted to string
Have I overlooked something in the form class?