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

Doctrine2 PHP Discussion :

3 tables, 2 modèles


Sujet :

Doctrine2 PHP

  1. #1
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 532
    Points : 604
    Points
    604
    Par défaut 3 tables, 2 modèles
    Bonjour à toutes et tous,

    Je travaille avec doctrine sous Zend 2, je sais qu'ici c'est pour symfony mais n'ayant pas trouvé la section dédiée à doctrine sous Zend, je viens poster ici.

    Je suis encore novice avec Doctrine et j'ai un probleme que je n'arrive pas résoudre:
    Dans ma base de donnée j'ai trois tables: "group", "role" et "role_group"
    Dans mon projet j'ai deux modèles de déclaré "group" et "role" (avec respectivement les classes Group et Role de défini)

    Dans chacune de mes classe, j'ai un champ qui, si j'ai bien compris réalise la liaison entre les tables "group" et "role" par l'intermédiaire de "role_group"

    Dans ma classe Group (fichier model/Group.php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    /**
         * Tableau des roles du groupe
         * @var ArrayCollection de Role
         * @ORM\ManyToMany(targetEntity="Model\Role", inversedBy="groupes")
         * @ORM\JoinTable(name="role_group", 
         *  joinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")},
         *  inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id")})
         */
        private $roles;

    Dans ma classe Role (fichier model/Role.php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    /**
         * Tableau des groupes ayant ce role
         * @var ArrayCollection de Group
         * @ORM\ManyToMany(targetEntity="Model\Group", mappedBy="roles")
         */
        private $groupes;

    Je souhaite écrire un requête SQL, mais pour cette requête je souhaite avoir accès aux infos présentes dans ma table "role_group" (celle qui fait la liaison et ne possède pas de modèle)

    Je n'arrive pas à trouver la bonne formulation pour accéder à la table que je veux, donc pouvez-vous m'aider ?

    Cordialement
    Si vous voulez suivre les différents championnats de football américain en France, en Europe et dans le Monde (en tout 32 pays différents), c'est sur www.fandefootus.fr

  2. #2
    Membre actif Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    Avril 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : Avril 2014
    Messages : 146
    Points : 273
    Points
    273
    Par défaut
    sujet qui date un peu, en esperant que ca peut tout de meme servir.

    c'est du au fait que tu as une relation many-to-many.

    Tu ne dois pas te preoccuper des tables qui se trouvent dans la db, si tu utilises l'orm tu fais un 'join' sur l'objet dont tu recupereras une collection. l'orm connait le schema de tes entittes grace aux annotations qui y sont mises et s'occupera de faire les relations automaitquement.

    et si tu veux faire la requete manuellement sans l orm tu vas directement selectionner ta requete dans la table que tu souhaites et tu pourras ainsi la traiter comme un array et en faire ce que tu veux.

    Jisig.
    Même une feuille de papier est plus légère si on la porte à deux.

Discussions similaires

  1. [1.x] Index Lucene sur plusieurs tables du modèle
    Par jekif dans le forum Symfony
    Réponses: 3
    Dernier message: 29/03/2012, 17h03
  2. [1.x] Indexation de plusieurs tables du modèle avec Lucene
    Par jekif dans le forum Débuter
    Réponses: 0
    Dernier message: 13/03/2012, 23h19
  3. [Hibernate] - Création auto des tables des modèles
    Par R1D3M4N dans le forum Hibernate
    Réponses: 9
    Dernier message: 09/03/2009, 17h51
  4. Réponses: 2
    Dernier message: 11/05/2007, 09h16
  5. Réponses: 5
    Dernier message: 21/02/2006, 19h44

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