Bonjour,

je possède deux entités Gather et Player, qui sont liés en ManyToMany avec un attribut. J'ai donc créé une entité Gather_Player (ManyToOne vers Gather, ManyToOne vers Player), suivant le tutoriel Sf2 à la lettre, avec mon attribut dans cette entité. Tout va bien.

J'ai un formulaire de création d'un gather qui fonctionne.

Actuellement je suis en train de créer le formulaire de validation (ValidateGatherType.php), de mon gather. Je souhaiterais qu'il affiche tous les joueurs liés au gather et à côté mette une checkbox pour pouvoir les sélectionner. (l'attribut "selected" est l'attribut de l'entité "Gather_Player")

ValidateGatherType.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public function buildForm(FormBuilder $builder, array $options)
{
	$builder->add('gather_players', 'collection', array('type' => new Gather_PlayerType()));
 
}
Gather_PlayerType.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public function buildForm(FormBuilder $builder, array $options)
{
	$builder->add('player', 'entity', array(
	'class' => 'D2ECoreBundle:Player',
	'multiple' => true,
	'expanded' => true
	));
}
Je pensais faire quelque chose de la sorte bien que cela ne fonctionne pas.
Je suis sceptique sur mon choix.

Initialement j'avais le code suivant qui fonctionnait, mais je pense qu'il y a bien plus élégant.
Gather_PlayerType.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public function buildForm(FormBuilder $builder, array $options)
{
    $builder->add('player', 'text', array('read_only' => true));
    $builder->add('isSelected', 'checkbox', array('required' => false));
}
Ce que j'aurais aimé faire c'est créer les checkboxes avec mes infos contenus dans l'objet $gather, mais ici on n'y a pas accès, doit-on faire une requête dans chaque add('gather_player') pour récupérer une infos que l'on a déjà mais qui ne nous est pas accessible ?