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 :

Accéder à une methode d'une autre classe [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Par défaut Accéder à une methode d'une autre classe
    Bonjour,

    voila j'ai un module City et un module country
    voici le schema des tables

    citys:
    city_id:
    country_id:
    city_name:

    countrys
    country_id
    country_name

    je souhaiterai en faite afficher country_name au lieux de country_id dans mon module city

    et je sais pas comment faire

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    Salut,

    Quand tu récupères tes city, il te suffit de le faire avec un doSelectJoinCountrys au lieu d'un doSelect.

    Je te conseille de virer le 's' dans le nom de tes table (dans le schema.yml)

    Si ton schéma est tel que tu nous le donnes. il faudrait que ton champ country_id s'appelle countrys_id pour que symfony puisse deviner qu'il s'agit d'une clé étrangère.

    Avec le schéma suivant:
    Code yml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    city:
      id:
      country_id:
      name:
     
    country:
     id:
     name:

    tu devrais faire dans l'action:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->mycitys = cityPeer::doSelectJoinCountry();
    et dans la vue tu aurais accès au nom de cette manière:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach($mycitys as $mycity ) {
      echo $mycity->getCountry()->getName();
    }

    Renseigne toi bien sur le fichier schema.yml afin de voir comment on peut déclarer les clés étrangères
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Par défaut
    Merci pour votre aide MasterOfChakhaL effectivement je suis débutant sous synfony

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 38
    Par défaut
    salut,
    Ou sinon ali tu peux ajouter un __toString().

    dans le dossier lib qui se trouve a la racine de ton site tu peux ajouter dans tes classes la fonction
    ex :
    classe nomTable extend ....
    {
    public function __toString()
    {
    return $this->getName()
    }
    }

    la function toString et la function par default qui te premettra de gerer l'affichage de l'objet. En gros au lieu d'afficher l'id il affiche ce qui est retourner pas la function __toString().

    maintenant si tu ajoute cette fonction dans tes classes généré par propel(par default) l'objet affichera ce qui est retourné par cette function. Qui est pour ma par une fonction super utile.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel d'une methode depuis d'autre class
    Par giraud vias dans le forum C#
    Réponses: 3
    Dernier message: 28/12/2017, 14h17
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. Réponses: 7
    Dernier message: 17/01/2009, 13h10
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Appliquer une methode a une variable d une classe ?
    Par Slumpy dans le forum VB.NET
    Réponses: 18
    Dernier message: 07/06/2007, 17h17

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