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字段类型