Bonjour à tou.te.s,
Je voudrais faire une petite appli pour affecter des aménagements à des élèves. Par exemple : Autoriser l'ordinateur
Lorsque l'enseignant clique sur le détail de l'élève il doit voir tous les aménagements rangés par description descendante or par défaut c'est rangé par id et je n'ai pas trouvé de filtre Twig pour remédier à cela.
De même les items (aménagements) sont bien rangés en descendant dans l'index car j'ai configuré le Repository en conséquence mais par contre ils sont rangés par id dans le select.
Vue Twig show élève, je n'ai pas trouvé de filtre (filtrage sur array seulement)
<ul>
{% for item in eleve.item %}
<li> {{ item.description}} </li>
{% endfor %}
</ul>
Ce que je veux
Je voudrais donc :
Hello,
Alors c'est ultra compliqué ;)
Dans ton Entity il suffit d'ajouter "@ORM\OrderBy({"nomVariable" = "ordre (ASC ou DESC)"})"
/**
* @ORM\OneToMany(targetEntity=SousCategories::class, mappedBy="Categorie")
* @ORM\OrderBy({"NomSousCategorie" = "ASC"})
*/
private $sousCategories;
C'est un peu comme dans ton Repository mais dans ton form il faut ajouter un query_builder a ton item "amenagement" avec un orderBy (dans mon exemple j'ai aussi ajouter les utilisateurs actif)
->add('Conseiller', EntityType::class, [
'placeholder' => 'Séléctionnez un conseiller',
'class' => User::class,
'query_builder' => function(EntityRepository $er){
return $er->createQueryBuilder('c')
->andWhere('c.Actif = true')
->orderBy('c.Nom', 'ASC')
;
}
])
Merci beaucoup cela fonctionne parfaitement pour la vue. As-tu une idée pour le Select2 ?
Super, ça fonctionne :). J'ai juste rajouté le 'multiple' => true, pour avoir des multi-sélections. MERCI infiniment pour ton soutien :)
->add('Item', EntityType::class, [
'class' => Item::class,
'multiple' => true,
'query_builder' => function(EntityRepository $er){
return $er->createQueryBuilder('i')
->orderBy('i.description', 'DESC')
;
}
])