2014-01-17 7 views
1

Я ищу способ заполнить свою коллекцию форм. Я создаю свою собственную коллекцию с помощью прототипов.Коллекция symfony заполняется несколькими записями

В моем контроллере:

//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() 
    ; 
} 

И кот FormType:

->add('name', 'text', array(
    'read_only' => true, 
    'disabled' => true, 
)) 
->add('price', 'money', array(
    'label' => 'Price', 
)) 

Спасибо заранее.

ответ

1

В шаблоне формы:

{% for cat in form.cats %} 
{{ cat.name }} {{ cat.price }} 
{% endfor %} 
Смежные вопросы