Décrivez ici votre problème ou ce que vous cherchez à faire.
Bonjour J'aimerais avoir dans un formulaire un seul enregistrement pour plusieurs formulaires de même entité. Pour cela j'ai créé une entité Operation qui a une relation manyToOne avec une autre entité rubrique. Le résultat attendu me donne pas la liste des rubrique.
Voici mon OperationType
"public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('rubrique', CollectionType::class, [
'entry_type' => RubriqueType::class,
'entry_options' => [
'label' => false,
],
])
->add('montant')
->add('save', SubmitType::class, ['label' => 'Enregistrer'])
;
}"
Voici Mon controller
" /**
* @Route("newo/{id}", name="newo" , methods={"GET", "POST"}))
*/
public function new(EntityManagerInterface $em, Request $request, RubriqueRepository $rubriqueRepository, $id, MembreRepository $membreRepository): Response
{
$membre = $membreRepository->find($id);
$rubriques = $rubriqueRepository->findAll();
$operations = new Operation($rubriques);
$form = $this->createForm(OperationType::class, $operations);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em->persist($operations);
$em->flush();
}
return $this->render('operation/new.html.twig', ['operations'=>$operations,'membre'=>$membre,'form' => $form->createView(),]);
}"
Voici ma vue
"{{ form_start(form) }}
{% for operation in operations %}
{{ form_errors(operations) }}
<tr>
<td>{{ form_widget(operation.rubriques, {'attr': {'class': 'c-select'}}) }}</td>
<td>{{ form_widget(operation.montant, {'attr': {'class': 'c-select'}}) }}</td>
</tr>
<pre>
{{ dump(rubriques) }}
</pre>
{% endfor %}
{{ form_end(form) }}"
Je veux avoir plusieurs formulaire ayant chacun une rubrique et le montant a remplir
Décrivez ce que vous cherchez à obtenir.
je n'obtiens qu'un seul champ montant et pas de rubrique juste un titre Rubrique
Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(