IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

EntityType. Ordonner les groupes d'un group_by


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Fahelis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2014
    Messages : 77
    Par défaut EntityType. Ordonner les groupes d'un group_by
    Bonjour à tous.

    Dans un formulaire, j'utilise (entre autre) un champ EntityType.
    Je récupère mes données ordonnées par ordre alphabétiques via l'option 'query_builder' et je veux les séparer en deux groupes.
    L'option 'group_by' fait ça à la perfection, mais...
    Je souhaiterais pouvoir choisir quel groupe apparaît en premier dans ma liste. Par défaut le premier groupe est celui contenant le premier résultat de la requête, et donc ils ne sont pas affichés dans le même ordre selon mes données.
    Actuellement par exemple j'ai à l'affichage dans ma list box :
    Groupe 2
    A
    D
    Groupe 1
    B
    C
    Et je voudrais que le groupe 1 soit le premier à s'afficher, même si la première donnée de ma requête est A (tri alphabétique) et qu'elle fait partie du groupe 2.

    J'ai cru tenir un moment une solution avec l'option 'preferred_choices' mais ça n'a manifestement pas d'effet sur les titres des groupes.

    Du coup je patauge :/

    Voici mon code pour plus de clarté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    ->add('categories', EntityType::class, array(
                    'class' => 'AppBundle:CCategorie',
                    'label' => 'Catégories',
                    'translation_domain' => false,
                    'choice_label' => 'name',
                    'choice_translation_domain' => false,
                    'multiple' => true,
                    'required' => false,
                    'query_builder' => function (EntityRepository $er) {
                        return $er->createQueryBuilder('cc')
                            ->orderBy('cc.name', 'ASC')
                        ;
                    },
                    'group_by' => function($val, $key, $index) use ($tabRelevantLabels) {
                        if (in_array($val->getName(), $tabRelevantLabels)) {
                            return 'Catégories les plus pertinentes';
                        } else {
                            return 'Autres catégories';
                        }
                    },
                ))
    tabRelevantLabels continent une liste de catégorie pertinentes pour un cas précis et je voudrais que le groupe qui les contient soit visible en premier dans tous les cas.

    Quelqu'un a t-il une solution ?

    Merci de votre lecture

  2. #2
    Invité de passage
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 1
    Par défaut
    J'ai le même problème.
    En plus, moi j'aurais voulu afficher la liste sous forme de checkboxes.

    Mon cas : je réalise une candidathèque sous Symfony. Le formulaire demande de choisir des compétences, qui sont liées à des catégories en bidirectionel many to one (chaque compétence n'a qu'une catégorie). L'entité candidature est en relation many to many avec l'entité Compétence.

    Mon code est similaire au tien. Pour afficher sous forme de checkboxes, j'ai ajouté expanded => true, mais si les compétences sont effectivement triées par catégorie, l'intitulé des catégories ne s'affiche pas. Je cherche depuis deux jours, sans succès. Quelqu'un aurait-il une idée?

Discussions similaires

  1. Théorie sur les groupes et les ensembles
    Par grav dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 02/02/2005, 19h24
  2. [SQL] problème avec les date et les group By
    Par Stef784ever dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2004, 10h18
  3. [Débutant][VB 5.0] Obtenir les groupes locaux W2K
    Par Banana_Ultra dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 01/10/2004, 15h07
  4. Aide sur les groupes (ADO)
    Par portu dans le forum QuickReport
    Réponses: 3
    Dernier message: 18/08/2004, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo