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 aux informations de deux tables liées [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Accéder aux informations de deux tables liées
    Bonjour,

    Je débute sur symfony en essayant d'adapter Jobeet pour la gestion d'une collection de cartes Pokemon (cela pourra être utile pour gérer celle de mon fils )

    Voici ma base de départ :

    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
    22
    23
    # config/doctrine/schema.yml
    Serie:
     actAs: { Timestampable: ~ }
     columns:
       name: { type: string(255), notnull: true }
       type: { type: string(255) }
       description:  { type: string(4000), notnull: true }
       nb_cards: {type: integer }
     
    Card:
     actAs: { Timestampable: ~ }
     columns:
       name: { type: string(255), notnull: true }
       logo: { type: string(255) }
       serie_id:  { type: integer, notnull: true }
       number: { type: integer }
       description:  { type: string(4000), notnull: true }
     relations:
      Serie: 
        onDelete: CASCADE
        local: serie_id
        foreign: id
        foreignAlias: Series
    Je voudrais remplacer le numéro de la série par son nom dans la page index de mon module card mais je n'y arrive pas.

    J'ai essayé pas mal de chose dans le fichier actions.class du module mais sans jamais arriver à sélectionner le nom de la série de la carte affichée .

    J'essaye la fonction suivante dans ma classe card :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    class Card extends BaseCard
    {
     public function getseriebycard()
      {
        $q = $Doctrine_Query::create()
            ->from('Serie s')
            ->where('s.id = ?', $this->getSerie_id());
          return $q->execute();
        }
    }
    Puis dans le fichier indexSuccess.php de mon module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $card->getseriebycard()->getname() ?></td>
    Mais j'obtiens l'erreur
    Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/crichard/sfprojects/pokecards/lib/model/doctrine/Card.class.php on line 10
    Il doit bien y avoir quelque chose de relativement simple pour faire cela.

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    A priori, y'a une erreur de syntaxe dans ton code, il faut enlever le $ a Doctrine_Query::create()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    class Card extends BaseCard
    {
     public function getseriebycard()
      {
        $q = Doctrine_Query::create()
            ->from('Serie s')
            ->where('s.id = ?', $this->getSerie_id());
          return $q->execute();
        }
    }

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup, à force de triturer le code j'en arrive à écrire n'importe quoi.

    Je n'ai plus d'erreur et pour que cela fonctionne j'ai remplacé execute() par fetchOne()

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

Discussions similaires

  1. Incrementation automatique de deux tables liées
    Par fsautejeau dans le forum Access
    Réponses: 8
    Dernier message: 04/07/2006, 12h18
  2. Formulaire affichant deux tables liées à une troisième
    Par Mimi-des-îles dans le forum Access
    Réponses: 1
    Dernier message: 23/02/2006, 13h47
  3. [Debutant] Accéder aux informations du système de fichiers
    Par Epouvantail dans le forum Débuter
    Réponses: 8
    Dernier message: 30/11/2005, 10h50
  4. [VB.NET]Accéder aux informations d'un PC a distance
    Par Dnx dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/10/2005, 11h39
  5. accéder aux colonnes d'une table différemment
    Par fab_hendrix dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/08/2005, 19h20

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