Bonjour,
j'ai créé une application avec laquelle j'ai synchronisé des tables d'une base de données tierce.
Bref, mon problème est le suivant.
J'utilise symfony 2 et doctrine comme ORM. Je peux évidemment configurer mes entités pour leurs inclure d'autres objets ou collections d'objets. Ceux-ci sont directement ou presque chargés lors de la réception et l'hydratation de l'objet "maître".
Par contre dans les entités et par l’intermédiaire des annotations, lorsque j'indique la présence d'un objet au sein d'un autre et que le lien ne se fait pas par la clef primaire en temps que clef étrangère mais par un champ autre en tant que clef étrangère, au moment de la récupération de l'objet j'ai un bug.
Doctrine ne peut pas faire le lien entre l’objet autrement que par la clef primaire en tant que clef étrangère, alors que bien entendu dans beaucoup de base de données ce lien peut se faire par un autre champ pour peu qu'il soit unique.
Le problème et que je récupère nombre de tables d'une autre base et que j'aimerais garder une pk auto incrémentée en plus du champ me servant de lien (donc il ne faut pas que ce lien soit sur la pk) et pourvoir lier les tables autrement que par cette pk. (sur un autre champ de la table avec une contrainte d'unicité).
Merci pour vos réponses autres que "Mais pourquoi tu veux faire ça, ça na pas de sens....". Par contre je ne suis pas hermétique aux débats.
Du coup la question est, y a t'il un moyen de faire le lien par une clef que ne soit pas la pk dans la table cible sans perdre la "puissance" de symfony?
Bonne journée a tous.
Partager