我希望在另一个表格中用树枝显示同一表格的2个实例,但我无法弄清楚如何。
这是我的第一个表格:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
// build form
$builder
->add('contenu', 'text', array(
'attr' => array('maxlength' => 255),
'empty_data' => "Question par défaut"
))
->add('file', 'file', array(
'attr' => array('accept' => "image/png, image/jpeg")
))
->add('contenuQuestion', 'collection', array(
'type' => new QuizzReponseType(), // here the embedded form
'allow_add' => true,
'allow_delete' => true,
'cascade_validation' => true,
))
;
}
在实体中:
/**
* @ORM\ManyToMany(targetEntity="OC\QuizzBundle\Entity\QuizzReponse", cascade={"remove", "persist"})
*/
private $contenuQuestion;
function __construct() {
$this->contenuQuestion = new ArrayCollection();
}
这里是嵌入式表格:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
// build form
$builder
->add('contenu', 'text', array(
'attr' => array('maxlength' => 50),
'empty_data' => "Réponse par défaut"
))
->add('file', 'file', array(
'attr' => array('accept' => "image/png, image/jpeg")
))
;
}
问题出在我看来。我希望有2个嵌入式表单实例,但该集合似乎是空的。
它只适用于一个嵌入的表单(注意:我的第一个表单也在另一个表单中,但它与我的问题无关):
// embedded form content field
{{ form_widget(form.contenuQuizz.vars.prototype.contenuQuestion.vars.prototype.contenu) }}
我正在寻找类似的事情:
// embedded form1 content field
{{ form_widget(form.contenuQuizz.vars.prototype.contenuQuestion.0.vars.prototype.contenu) }}
// embedded form2 content field
{{ form_widget(form.contenuQuizz.vars.prototype.contenuQuestion.1.vars.prototype.contenu) }}
看起来问题是集合没有初始化但我不确定。
有办法吗? (如果可能的话,用树枝而不是JavaScript)
提前致谢,
Maugun