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 :

Admin generator et relations champs id


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de kreatik
    Inscrit en
    Juin 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 94
    Par défaut Admin generator et relations champs id
    bonsoir,

    je ne comprend pas pourquoi symfony ne prend pas le nom du client et l'utilisateur au lieu de l'id.



    Normalement cela dois être automatique, j'ai quand même créer la méthode
    __toString() mais cela ne fonctionne pas mieux.

    generator.yml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    list:
            display:            [user_id, clients_id, ...]
    Par contre cela fonctionne parfaitement pour les filtres :



    Les relations sont correctes dans ma base, d'où est-ce que cela peut venir ?

    Aussi j'ai remarqué que en mettant le nom de la classe comme "sfGuardUser" au lieu de "user_id" cela fonctionne mais j'aime bien comprendre

  2. #2
    Membre éprouvé

    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 173
    Par défaut
    Ce n'est pas automatique. La tu lui dis explicitement d'afficher les champs
    clients_id et user_id. Pour que la méthode __toString() soit invoquée il faut que l'objet soit affiché directement.

    Remplace simplement clients_id par Clients et user_id par User.

  3. #3
    Membre confirmé Avatar de kreatik
    Inscrit en
    Juin 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 94
    Par défaut
    Ah oui j'avais vu qu'on pouvais aussi mettre le nom de la classe et cela fonctionnait mais alors pourquoi display: user_id dans la partie filters: utilise bien la méthode __tostring et pas dans list: ? merci

  4. #4
    Membre éprouvé

    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 173
    Par défaut
    Pour les filtres il s'agit de listes déroulante inclues dans un sfFormFilter.
    Il ne se contente pas de faire un appel du type getNomDuChamp();

    Par exemple le champ user_id désigne une clef étrangère sur une relation, le formulaire détermine alors qu'il s'agit d'une relation, à partir de là il va créer une requête qui va remonter les entrées de la table User sous le format suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <option value="user_id">$UserObject</option>
    C'est l'affichage du UserObject qui va déclencher l'appel à __toString().

    La liste elle prend en entrée une collection d'objet et va à partir de cette collection, pour chaque ligne faire un appel qui ressemble à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $object->getNomDuChamp(); // champ spécifié dans ton generator.yml
    Du coup si NomDuChamp est un id tu auras un id.

    Pour plus d'informations sur ton formulaire de filtre je t'invite à regarder ta classe /lib/filter/doctrine/base/BaseUserFilterForm.class.php

  5. #5
    Membre confirmé Avatar de kreatik
    Inscrit en
    Juin 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 94
    Par défaut
    Super, merci pour ces réponses qui m'ont bien éclairé

Discussions similaires

  1. [1.x] Admin generator : supprimer des champs du form
    Par jejeman dans le forum Symfony
    Réponses: 4
    Dernier message: 11/02/2011, 16h54
  2. Réponses: 1
    Dernier message: 08/10/2009, 13h39
  3. [1.x] Champ de téléchargement dans l'admin generator
    Par qlimamax dans le forum Symfony
    Réponses: 5
    Dernier message: 17/04/2009, 11h34
  4. Réponses: 1
    Dernier message: 18/08/2008, 17h12
  5. [1.x] Champs i18n disabled par l'admin generator
    Par wadzat dans le forum Symfony
    Réponses: 1
    Dernier message: 22/05/2008, 14h51

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