1
我有两个实体,A和B. A与B.使用集合字段类型的选项每个孩子实体数据
我嵌入一个里面有五名B形成一个一对多的关系表格使用collection
字段类型。为了做到这一点,我在AController
中创建了5个A-B关系。我想这样做是使用每个这种B
实体的领域建立自己的标签形式收藏。
所以,我有以下代码:
//AController
$a = new A();
//Followinf returns an array of 5 B entities
$bs = $this->getDoctrine->getEntityManager()->getRepository('MyBundle:B')->findBy(array(
'field' => 'value',
));
foreach ($bs as $b) {
$a->addB($b);
}
$form = $this->createForm(new AType(), $a);
return array(
'a' => $a,
'form' => $form->createView(),
);
//AType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('a_field')
->add('another_field')
->add('bs', 'collection', array(
'type' => new BType(),
'options' => array(
'label' => 'i want to configure it depending on current B data',
)
))
;
}
我发现这个相关主题:
Symfony form - Access Entity inside child entry Type in a CollectionType
但要注意,因为它访问子窗体中的数据,这是不同的。我想从父窗体访问子数据并将其用于集合中的每个子标签。
我知道我可以访问使用$builder->getData()->getBs();
孩子数据,但我想不出如何在以后使用它为每一个孩子的形式。
我知道还有我能做到这一点的看法,通过实体循环和使用循环索引手动呈现每个集合元素,但我想这样做的形式。
非常感谢。