Bonjour,

Voila, je ne sais pas comment réaliser un arbre de sous catégories par rapport à des catégorie de checkbox.
Donc, j'ai une entity Article qui contient des sous-catégories (politique française, politique européenne...) et chaque sous-catégorie a une catégorie (politique, art, ...)
Pour résumé, voici la structure :
L'entité Article : (id, titre, contenu, date)
L'entité Articlesouscategorie : (article_id, souscategorie_id)
L'entité Souscategorie : (id, nom, categorie)
L'entité Categorie : (id, nom)

Voici une idée du rendu que je souhaiterai obtenir lorsque je veux persister un Article (liste de checkbox) :

  • politique :
    • politique française
    • politique européenne
    • politique écologique
  • art :

    • art visuel
    • art cinéma
    • art peinture
    • sport :

      • football
      • tennis
      • ski
    • divertissement :

      • programme télé
      • activité plein air
      • ......

Voila ce que j'ai fait jusqu'à présent, mais ca ne fonctionne pas. On m'a dit de faire un CollectionType, mais je ne vois pas comment faire.

            ->add('souscategorie', EntityType::class, array(
                                        'label' => false,
                                        'class' => 'App:souscategorie',
                                        'query_builder' => function(EntityRepository $er) {
                                            return $er->createQueryBuilder('souscategorie')
                                                ->addSelect('souscategorie')
                                                ->join('souscategorie.categorie', 'categorie')
                                                ->groupBy('categorie.nom')
                                            ;
                                        },
                                        'expanded'=> true,
                                        'multiple'=> true,
                                        'choice_label' => function($sousCategorie){
                                            return $sousCategorie->getNom(); 
                                        },
                                        'placeholder' => '--- selectionnez une catégorie ---'))

Et j'obtiens uniquement soit mes catégories (ca dépend de comment je fais mon query_string) ou que mes sous-catégories ....
Merci par avance pour votre aide....
+++++

Aucune réponse