Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-10-2015 17:26:07

RomainG
Membre
Date d'inscription: 10-06-2015
Messages: 65

Association avec Doctrine 2

Bonjour à tous,

je suis confronté à un petit problème de compréhension au niveau des associations avec Doctrine.

Voici le topo : j'ai une table "provider" et une table "category". Les providers ont une seule category et les category peuvent avoir plusieurs provider. J'ai donc quelque chose de ce style en BDD :

Code:

provider :
    id
    ...

category :
   id
   ...

provider_category :
    provider_id
    category_id

Ce que je n'arrive pas à faire, c'est le mapping de cette association (basique, mais je bloque !).

Pour l'instant, j'ai défini un mapping de type ManyToMany bi-directionnel mais je pense que je pourrais améliorer ça (surtout que j'ai des cas de figures similaires pour d'autres tables...). En effet, il est un peux stupide de faire une boucle pour pouvoir récupérer une seule catégorie...

J'ai vu sur un tutoriel que certaines personnes définissaient la relation entre les entités au niveau de l'entité de liaison. Est-ce une bonne chose dans mon cas ? Sinon, quand s'en servir ?

Une petite piste pour m'éclairer ?

Merci d'avance,

Romain

Hors ligne

 

#2 30-10-2015 10:52:31

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Association avec Doctrine 2

Salut, je vois pas vraiment où est la complexité de cette relation. Si tes provider ne peuvent avoir qu'une seule catégorie il suffit d'avoir une clé étrangère category_id dans la table provider et c'est réglé.

De cette manière un provider ne peux avoir qu'une seule catégorie et une catégorie plusieurs provider. Par contre un provider ne peux être associé qu'à une seule catégorie (donc je sais pas si c'est ce que tu veux ou pas). Si c'est le cas c'est d'un côté une OneToMany et de l'autre une ManyToOne.

Si c'est pas ça tu n'as pas le choix que de faire 2 ManyToMany et la contrainte d'unicité tu la gère côté code et non côté bdd.

Hors ligne

 

#3 05-11-2015 09:26:01

RomainG
Membre
Date d'inscription: 10-06-2015
Messages: 65

Re: Association avec Doctrine 2

Salut Orkin !
Désolé pour la réponse tardive. Alors le problème c'est que j'ai une base de données imposée et que je ne peux pas faire de changements...
J'ai donc suivi ton conseil et fait deux relations OneToMany / ManyToOne.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages