我想找到一种方法来填充我的表单集合。我正在通过原型设计构建自己的系列。
在我的控制器中:
//samplecode... a person can have many cats
$em = $this->getDoctrine()->getManager();
$person= $em->getRepository('UserBundle:Person')->find(0);
$form = $this->createForm(new PersonType(), $person);
我有一组表单,我想要填充已经在我的主要实体(人)中的所有数据(猫)。我的最后一种方法被注释掉了。
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('cats', 'collection', array(
'type' => new CatType(),
'allow_add' => true,
'allow_delete' => true,
'mapped'=> false,
'data_class' => 'Yoda\UserBundle\Entity\Cat',
// 'data' => $options["data"]->getCats(),
))
->getForm()
;
}
cat FormType:
->add('name', 'text', array(
'read_only' => true,
'disabled' => true,
))
->add('price', 'money', array(
'label' => 'Price',
))
提前致谢。
答案 0 :(得分:1)
在表单模板中:
{% for cat in form.cats %}
{{ cat.name }} {{ cat.price }}
{% endfor %}