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

PHP & Base de données Discussion :

[Doctrine] Doctrine et les jointures


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé

    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 51
    Par défaut [Doctrine] Doctrine et les jointures
    Bonjour,

    J'ai un petit souci avec une jointure :

    En SQL ma requete est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM club_liste A LEFT JOIN club_region B ON A.no_region=B.no WHERE B.slug = 'alsace' ORDER BY A.club ASC
    J'ai donc 2 modèles "ClubListe" et "ClubRegion"

    et donc mon action je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $this->club_liste = Doctrine::getTable('ClubListe')->createQuery('a')
            ->leftJoin("ClubRegion b ON a.no_region=b.no")
            ->where('b.slug = ? ', 'alsace')
            ->addOrderBy('a.club ASC')
            ->execute();
    et j'ai l'erreur
    "ClubRegion" with an alias of "b" in your query does not reference the parent component it is related to.
    ???

    Merci d'avance de vos idées

  2. #2
    Membre éclairé

    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 51
    Par défaut
    J'adore me répondre à moi même Et si cela peut servir à quelqu'un voici ma solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        $this->club_liste = Doctrine_Query::create()
            ->from("ClubListe a")
            ->leftJoin("a.ClubRegion b")
            ->where('b.slug = ? ', $request->getParameter('region'))
            ->addOrderBy('a.club ASC')
            ->execute();
    Pour infos comme je n'avais pas donné les détails de mon fichier schema.yml, voici une version light pour plus de compréhension.

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    ClubListe:
      tableName: club_liste
      columns:
        id:
          type: integer(4)
          unsigned: 1
          primary: true
          autoincrement: true
        no_region:
          type: integer(1)
          notnull: true
         ....
      relations:
        ClubRegion:
          local: no_region
          foreign: 'no'
          type: many
     
    ClubRegion:
      tableName: club_region
      actAs:
        Sluggable:
          fields: [region]
      columns:
        'no':
          type: integer(1)
          primary: true
          autoincrement: true
        region:
          type: string(100)
          default: ''
          notnull: true
        nbre:
          type: string(2)
          fixed: true
          default: ''
          notnull: true
        slug: string(255)
      relations:
        ClubListe:
          local: 'no'
          foreign: no_region
          type: one

Discussions similaires

  1. [Doctrine] Problème avec les identifiants relatifs.
    Par jeanchristophe22 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/05/2011, 11h48
  2. [doctrine] Requête avec une jointure
    Par benhsaien dans le forum ORM
    Réponses: 4
    Dernier message: 28/03/2011, 15h14
  3. [Doctrine] Comment bouger les noeud avec les Nested Set
    Par beachjf dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 10/02/2011, 21h31
  4. [Doctrine] Exécution d'une jointure externe
    Par christophetd dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/12/2009, 10h26
  5. [Doctrine] Tri sur les enfants
    Par Severance dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 14/11/2009, 17h26

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