php – Symfony2 – 使用表单生成器没有任何实体附加

我一直在使用Symfony2的表单生成器,并发现它相当不错。我发现自己想创建一个搜索页面,在顶部有一系列框过滤搜索结果。我现在有三个不同的实体(法官,口译员,律师)。我希望用户能够输入部分或完整的名称,并让它搜索所有的实体。我可以处理实际的搜索部分,但表单构建器生成是什么给我的麻烦。

我想做的是创建一个不附加到任何特定实体的表单。我在Symfony网站上阅读的所有教程和文档都像默认情况下附加到实体。我想知道我是否应该将它附加到任何实体,只是将每个文本字段设置为mapped = false,如果这是一个实例,我应该只是硬编码表单自己,或者如果有一些方法在表单构建器。

不要使用formType,您不需要附加实体为了使用表单生成器。只需使用数组。你可能忽略了Symfony文档中的这一小部分:http://symfony.com/doc/current/form/without_class.html

<?php
// inside your controller ...
 $data = array();
    $form = $this->createFormBuilder($data)
        ->add('query', 'text')
        ->add('category', 'choice',
            array('choices' => array(
                'judges'   => 'Judges',
                'interpreters' => 'Interpreters',
                'attorneys'   => 'Attorneys',
            )))
->getForm();

    if ($request->isMethod('POST')) {
        $form->handleRequest($request);

        // $data is a simply array with your form fields 
        // like "query" and "category" as defined above.
        $data = $form->getData();
    }
http://stackoverflow.com/questions/16883117/symfony2-using-form-builder-without-any-entity-attached

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – Symfony2 – 使用表单生成器没有任何实体附加