したがって、このフォームは for にあります。このチェックボックスフォームがテーブルのすべての行で繰り返されるようにしたいのですが、各行でラベルを正しく繰り返すだけです。テーブルのすべての行でこれらの 3 つのチェックを繰り返す方法が必要です。
これがコントローラーです(ビルダーを正しく作成したかどうかはわかりません:
<?php
$staffList = $this->getDoctrine()
->getEntityManager()
->getRepository('EnsgtiUserBundle:User')
->findAll();
$formAnnee = $this->createFormBuilder()
->add('checkAnnee1', 'checkbox', array(
'label' => 'test test',
'required' => false,))
->add('checkAnnee2', 'checkbox', array(
'label' => '',
'required' => false,))
->add('checkAnnee3', 'checkbox', array(
'label' => '',
'required' => false,))
->getForm();
//return $this->redirect( $this->generateUrl('EnsgtiEnsgtiBundle_voirList'));
return $this->render('EnsgtiEnsgtiBundle:Appli:voirStaffList.html.twig', array(
'staffList' => $staffList,
'formAnnee' => $formAnnee->createView(),
));
フォームは次のとおりです。
{% for user in staffList %}
<tr>
<td class="tdVoirStaff"> {{user.nom}} </td>
<td class="tdVoirStaff"> {{user.prenom}} </td>
<td class="tdVoirStaff" nowrap> {{user.email}} </td>
<td class="tdVoirStaff" nowrap>
<form {{ form_enctype(formAnnee) }}>
{{ form_label(formAnnee.checkAnnee1, "1") }}
{{ form_errors(formAnnee.checkAnnee1) }}
{{ form_widget(formAnnee.checkAnnee1) }}
{{ form_label(formAnnee.checkAnnee2, "2") }}
{{ form_errors(formAnnee.checkAnnee2) }}
{{ form_widget(formAnnee.checkAnnee2) }}
{{ form_label(formAnnee.checkAnnee3, "3") }}
{{ form_errors(formAnnee.checkAnnee3) }}
{{ form_widget(formAnnee.checkAnnee3) }}
</form>
</td>
</tr>
{% endfor %}