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 :

Filtre sur les collections


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Septembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2012
    Messages : 2
    Par défaut Filtre sur les collections
    Bonjour,

    J'ai une entité dossier qui est liée en ManyToOne a des utilisateurs qui ont des attributs divers

    Je voudrais pouvoir afficher un formulaire contenant mon dossier et les utilisateurs de mon dossier - tous les attributs pouvant être modifiables

    Je crée donc un formulaire DossierType contenant une collection de UserType.

    Cependant, selon mes vues applicatives, je souhaiterai pouvoir filtrer les utilisateurs que l'on peut modifier.

    Exemple : utilisateur qualifiée expert ou utilisateur mineur ...

    Cependant je ne parviens pas à faire de filtre sur ma collection dans mon userType

    Avez vous des idées ?

    Merci

  2. #2
    Membre Expert Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Par défaut
    Mon idée première est qu'en principe si tes formulaires sont bien construits, tu n'as strictement rien besoin de faire de ce coté.

    Dans ton cas, c'est un schema classique : un premier formulaire DossierType dans lequel ton builder embarque un widget 'collection', et le type de la collection sera ton UserType.

    C'est l'entité que tu vas passer à ton formulaire qui devra être triée. C'est à dire qu'au moment ou dans ton contrôleur tu auras cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objForm = $this->createForm(new DossierType (), $objDossier);
    il faudra que ton $objDossier possède déja la collection triée d'utilisateurs, ce qui signifie faire la requête soi-même avec les jointures et ne pas utiliser le lazy-loading. Si tu récupères ton dossier en faisant par exemple un simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objEm->getRepository("Blablabla:Dossier")->find($id);
    tu vas récupérer ton Dossier mais au moment ou tu voudras afficher la collection, Doctrine devra faire une requête supplémentaire pour récupérer tes utilisateurs associés : à ce moment la requête ne filtrera rien du tout et récupèrera tous tes utilisateurs.

    Par contre, si tu effectues toi même la requête pour récupérer ton Dossier, et que dans cette requête tu joins l'entité utilisateur et que tu filtres ce que tu veux, non seulement lors de la génération de la collection de formulaires, tu n'auras pas besoin d'une requête supplémentaire car tes utilisateurs seront déjà chargés, mais en plus cette collection ne contiendra que ceux que tu auras toi même filtré dans cette requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objEm->getRepository("Blablabla:Dossier")->findOneWithExpertUser($id); // méthode custom qui retourne l'entité dossier et la collection triée  d'utilisateurs associée
    Pour résumer : explicite la méthode qui récupère le dossier en y joignant les utilisateurs filtrés, et garde le fonctionnement le plus générique possible pour ton formulaire.

    ++

Discussions similaires

  1. [BO]prompt avec filtre sur les valeurs proposées
    Par arnauann dans le forum Deski
    Réponses: 3
    Dernier message: 30/11/2006, 17h00
  2. réaliser un filtre sur les données d'une table
    Par zuzuu dans le forum Langage SQL
    Réponses: 13
    Dernier message: 02/08/2006, 09h07
  3. Programmation du filtre sur les Dates
    Par Alpha31 dans le forum Access
    Réponses: 5
    Dernier message: 26/06/2006, 09h21
  4. Filtre sur les tcxGrid
    Par Tardiff Jean-François dans le forum Delphi
    Réponses: 3
    Dernier message: 23/05/2006, 14h10
  5. Filtre sur les données des 3 derniers mois?
    Par Arkalys dans le forum Access
    Réponses: 2
    Dernier message: 21/10/2005, 09h02

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