J'ai commencé à jouer avec la bibliothèque Doctrine ORM, et j'ai appris toutes les associations entre les tables. Donc, je suis bloqué avec des différences dans les relations unidirectionnelles et bidirectionnelles.Doctrine - OneToOne Unidirectionnel vs OneToOne Bidirectionnel
D'après ce que je comprends, la relation unidirectionnelle a la clé primaire seulement d'un côté, et ce côté possède le côté droit? Et la relation bidirectionnelle a une clé primaire dans les deux tables et donc vous pouvez avoir une relation des deux côtés, et définir des contraintes des deux côtés. Maintenant, je lis la documentation Doctrine sur les relations et vous avez: Unidirectional et Bidirectional associations.
Mais ils produisent le même SQL et les mêmes tables avec les mêmes clés-s et contraintes. Donc, je ne vois vraiment aucune différence dans ces deux. Et les deux exemples ont une clé primaire d'un côté.
Comme je l'obtiens la vraie relation bidirectionnelle devrait avoir des clés primaires dans les deux tables pointant vers l'autre table droite? Et avec un exemple donné sur la documentation de Doctrine ce n'est pas le cas. Les deux exemples donnent le même résultat et sont identiques.
Donc ce que j'ai fait, c'est ceci, disons que j'ai une entité utilisateur et carte, et que je veux que la relation soit OneToOne bidirectionnelle. La différence ici est que j'ai écrit @JoinColumn dans les deux objets/entités. Et dans l'exemple de Doctrine il n'y en a qu'un. Maintenant, je voudrais obtenir ce que je pense être une relation bidirectionnelle. Si je regarde le diagramme EER, je peux voir une ligne pointant d'un utilisateur à l'autre, et l'autre de la carte à l'utilisateur.
Donc, fondamentalement, ai-je bien compris? La documentation de Doctrine est-elle incorrecte? : D Comment la relation bidirectionnelle OneToOne apparaîtrait-elle dans un diagramme EER?
Merci!
Quelqu'un? Personne? :RÉ – otporan