Bonjour,
J'ai un problème avec une liste déroulante dans un formulaire.
J'ai une liste de personne avec un ordre compris entre 1 et 10 unique non consécutif.
Quand j'ajoute une personne je voudrais avoir comme choix un ordre compris entre 1 et 10 qui n'a pas déjà était attribuer.
Voici mon code de mon formulaire :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public function buildForm(FormBuilderInterface $builder, array $options)
{
$ordre=array();
//$em = $this->getDoctrine();
//Ordre de 1 à 10
//Pour ne pas avoir deux fois le même ordre il faut supprimer les ordre déja attribuer
for($i=1;$i<=10;$i++)
{
$ordre[$i] = $i;
}
$builder
->add('ordre', 'choice', array(
'choices' =>$ordre,
'multiple' => false,
'expanded' => false
))
;
} |
Je veux faire une liste de 1 à 10 et dès que l'un des ordre est déja en base ne pas le mettre dans la liste.
Mon problème c'est que j'ai l'impression d'après de nombreuse recherche que je ne peux pas faire de requête du repository dans cette fonction.
De plus dès que je met
$em = $this->getDoctrine();
Une exception sort me disant que getDoctrine n'est pas défini.
Je suis débutant et un peu perdu dans ce que je peux ou pas faire dans ce buildForm ... ou si il faut que je passe pas autre chose.
Auriez vous des pistes s'il vous plait.
Merci par avance de vos réponses.
Partager