Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Salut,
Tout de suite un exemple pour illustré la questions (concret vue que je travail sur ce model):
Imaginons des Etablissement pouvant être de plusieurs spécialité a la foi:
Une Boucherie peut être Charcuterie , Une Boulangerie peut être Pâtisserie mais peut avoir aussi un petit rayon Supérette , une Ferme peut être Éleveur ou Agriculteur ou les deux, et n'importe des quel peuvent être des Fournisseur...sois beaucoup de combinaison possible au final.
En tout une 10aine de spécialité, possédant des caractéristique qui leurs sont propre et qui sont très différentes. Au niveau de la bdd, ceci est représenté ainsi:
-1 table Etablissement contenant les infos commune (addresse, enseigne, status juridique, ect)
-1 table pour chaque spécialité
-1 table Spécialiste(id, libelle), répertoriant toute les spécialité
le "traçage" de héritage se fait de deux manière:
- l'ID des table spécialité pointant sur l'ID de la table Etablissements (héritage par jointure)
- une relation ManyToMany entre Etablissement et Specialite représenté par une table specialiteEtablissement(idEtablissement, idSpecialite). Cela évité d'avoir a chercher dans toute les tables de spécialité pour savoir quelle sont elles, en gros, c'est comme le champ "discriminant" de doctrine.
Pour le moment, le seul model possible que je vois du coté de doctrine est de crée une entité Specialite,qu'étendront toute les tables de spécialités, ce qui me permet d'avoir dans l'entité Etablissement une collection de Spécialite...mais sa exclue l'héritage de Etablissement pour une spécialité.
Voyez vous un autre model possible?
J'aimerai plutôt que mes entité de spécialité étendent l'entité Etablissement...mais pas d'héritage multiple en php
Ce qui serrai top, sa serrai de pouvoir utilisé les traits http://php.net//manual/fr/language.oop5.traits.php introduits dans php 5.4, qui permet de faire un peut comme de l'héritage multiple
j'espère que mon exemple est clair!
Dernière modification par Splyf (29-07-2014 13:51:19)
Hors ligne
bon je reformule la question:
Comment procèderiez vous dans ce cas si pour garantir l'intégrité des donné et hévité toute redondance ?
(mon exemple est-il assez clair ?)
Hors ligne