2012-06-11 3 views
1

У меня есть список «часов», которые рабочие передавали по мандатам. Администратор может проверить их (флажок), чтобы добавить их к законопроекту, (но он может адаптировать реальные часы)symfony2 дважды отображает поля формы

Итак, у меня есть массив часа выбран, в моем контроллере я получаю часы:

$hours = $repository->findBy(array('id' => $tabHour)); 

так $hours countain более чем на один час, я подумал, что если я создавал форму с $ часов, он будет автоматически отображать поля больше, чем один раз ..

foreach($hours as $key => $test){ 

    $billedHour[$key] = new BilledHour(); 
    $form[$key] = $this->container->get('form.factory')->create(new BillMandateForm(), $hour); 
} 

Я пытался сделать как this. Но это не решается, потому что если я вернуть коллекцию форм я не могу сделать 'form' => $form->createView(), так что я не могу вынести формы ...

+0

Эй, никакого ответа я до сих пор не был в состоянии сделать это, с путем класса отношений (ManyToOne) потому что счет имеет много выставленных счетов, поэтому с этим я мог бы генерировать поля (и анализировать его в javascript). Но я до сих пор не знаю, как отображать более одной формы на странице, если я хочу создать одновременно два объекта? – RaFF

ответ

0

Попробуйте упаковать все ваши отображения формы в массиве

$billedHours = array(); 
$forms = array(); 
foreach($hours as $hour) { 
    $billedHours[] = new BilledHour(); 
    $forms[] = $this->container->get('form.factory')->create(new BillMandateForm(), $hour); 
} 

Затем создать массив оказываемых экранных форм

$formsToRender = array(); 
foreach($forms as $form) { 
    $formsToRender[] = $form->createView(); 
} 

Затем передать этот массив в Twig:

... 
'forms' => $formsToRender 
... 

И, наконец, в Twig визуализация каждый из экранных форм из массива:

{% for form in forms %} 
    {{ form_row(form.id) }} {# or form_widget(form) if you want to render whole from instead of some fields #} 
{% endfor %} 

Я надеюсь, что это помогает;)

+0

Спасибо за ответ, я думал, что попробовал что-то вроде рендеринга формы, как ты. Я думаю, что у меня все еще были некоторые проблемы, но, как я сказал в комментарии, я использовал отношения для создания форм. – RaFF

Смежные вопросы