Symfony 呈现传递给数组字段的文本字段集合

Symfony 呈现传递给数组字段的文本字段集合,symfony,symfony-forms,symfony-2.3,Symfony,Symfony Forms,Symfony 2.3,在我的实体中,我有一个数组字段: /** * @var array * * @ORM\Column(name="work_experience", type="array") */ private $workExperience; 现在我想呈现一组文本字段,这些字段将被传递给这个数组字段 ->add('workExperience', 'collection', array( 'type' => 'text',

在我的实体中,我有一个数组字段:

/**
 * @var array
 *
 * @ORM\Column(name="work_experience", type="array")
 */
private $workExperience;
现在我想呈现一组文本字段,这些字段将被传递给这个数组字段

->add('workExperience', 'collection', array(
                'type'         => 'text',
                'allow_add'    => true,
                'allow_delete' => true,
                'prototype'    => true,
                #'by_reference' => false,
                'options'  => array(
                    'required'  => false,
                    'attr'      => array('class' => 'line-box')
                ),
            ))
但是现在当我渲染这个字段时,没有显示输入?我犯了什么错

{{ form_row(form.workExperience) }}

谢谢

在原型制作时,仅当您的实体在控制器内有一个分配给
workExperience
的值时,才会呈现集合字段,否则您需要使用javascript获取原型信息并创建输入字段,如果您想添加新字段,这也是正确的无论您的实体是否具有任何价值

要使用值渲染以下内容,请执行以下操作

{{ form_row(form.workExperience) }}
您可以执行以下操作:

public function controllerAction(Request $request)
{
    //By populating your entity with values from your database
    //workExperience should receive a value and be rendered in your form.
    $em = $this->getDoctrine()->getManager();
    $entity = $em
       ->getRepository('yourBundle:entity')
       ->findBy(...yourParameters...);


$form = $this->createForm('your_form_type', $entity);
...

请记住,集合通常用于一对多或多对多关系。
可以将其用于阵列,但并没有太多的文档记录。虽然此链接并非完美契合,但提供的一般想法可能会有所帮助:

在原型制作时,仅当您的实体在控制器内具有分配给
工作经验的值时,才会呈现集合字段,否则您需要使用javascript获取原型信息并创建输入字段,如果您想添加新字段,无论您的实体是否具有任何值,这也是正确的

要使用值渲染以下内容,请执行以下操作

{{ form_row(form.workExperience) }}
您可以执行以下操作:

public function controllerAction(Request $request)
{
    //By populating your entity with values from your database
    //workExperience should receive a value and be rendered in your form.
    $em = $this->getDoctrine()->getManager();
    $entity = $em
       ->getRepository('yourBundle:entity')
       ->findBy(...yourParameters...);


$form = $this->createForm('your_form_type', $entity);
...

请记住,集合通常用于一对多或多对多关系。
可以将其用于阵列,但并没有太多的文档记录。虽然此链接并不完美,但提供的一般想法可能会有所帮助:

能否显示
print\r($form->createView())从您的控制器?您需要嵌入另一个窗体,以生成集合元素。这就是
'type'=>新的YourFormToBeededType(),
而不是
'type'=>'email'
。现在我们来看看:symfony2文档说,没有实体也可以:在这个示例中,他们很容易地使用电子邮件字段类型,您可以显示
打印($form->createView())从您的控制器?您需要嵌入另一个窗体,以生成集合元素。这就是
'type'=>新的YourFormToBeededType(),
而不是
'type'=>'email'
。下面我们来看一下:symfony2文档说,没有实体也可以:在示例中,他们很容易使用email字段类型