我正在尝试创建一个简单的搜索表单,该表单使用实体类型来创建表单。
private function createCreateForm()
{
return $this->createFormBuilder()
->setAction($this->generateUrl('search_results'))//->add('search', 'search')
->add('professions','entity', array(
'class' => 'AppBundle:Profession',
'property' => 'name',
'multiple' => true,
'expanded' => true))
->add('submit', 'submit')
->getForm();
}
这项工作非常完美,我的表单中有从我的数据库记录中创建的复选框。
然而,当我尝试在POST上处理请求时,它只是挂起,什么也不做!
public function resultAction(Request $request)
{
$form = $this->createCreateForm();
$form->handleRequest($request);
$professions = $form->getData();
print_r($professions);
}
我只想检索一组选择选项,这样我就可以用它们执行搜索查询。
如果我只是创建一个值数组,它运行得很好,这让我怀疑它在试图解析handleRequest()上的实体关系时是否挂起了?
任何想法都将不胜感激!
谢谢。
输出数据太大。尝试print_r($professions[0]);
,如果$professions
是ArrayCollection
,则尝试print_r($professions->first());
。您也可以使用DoctrineCommonUtilDebug::dump($professions);
。
从Symfony 2.6开始,VarDumper组件的dump()函数可以很好地与Doctrine对象配合使用
请参阅此处了解更多详细信息:http://symfony.com/blog/new-in-symfony-2-6-vardumper-component