Doctrine 2 et plusieurs-à-Plusieurs lien de la table avec un champ supplémentaire

(Désolé pour mon incohérente question: j'ai essayé de répondre à certaines questions que j'ai écrit ce post, mais ici il est:)

Je suis en train de créer un modèle de base de données avec plusieurs-à-plusieurs relations à l'intérieur d'une table de lien, mais qui a également une valeur par lien, dans ce cas, une gestion de stock de la table. (ceci est un exemple de base pour plus de problèmes que je vais avoir, mais j'ai pensé que je venais tout juste de le tester avant, je voudrais continuer).

Doctrine 2 et plusieurs-à-Plusieurs lien de la table avec un champ supplémentaire

J'ai utilisé exportmwb pour générer les deux Entités de Stocker et de Produit pour cet exemple simple, les deux sont affichées ci-dessous.

Cependant, le problème maintenant est que je ne peux pas comprendre comment accéder au stock.le montant de la valeur (signé int, comme elle peut être négative) à l'aide de la Doctrine. Aussi, lorsque j'essaie de créer les tables à l'aide de l'orm doctrine:schema-outil:créer la fonction

Doctrine 2 et plusieurs-à-Plusieurs lien de la table avec un champ supplémentaire

Cela a donné seulement deux Entités et trois tables, une table de lien sans valeurs et les deux tableaux de données, comme plusieurs-à-plusieurs relations ne sont pas des entités eux-mêmes, donc je ne peux avoir Produit et de les Stocker en tant qu'entité.

Donc, logiquement, j'ai tenté de changer mon modèle de base de données pour avoir des actions comme une table séparée avec les relations de stocker et de produit. J'ai également réécrit le fieldnames juste pour être en mesure d'exclure la possibilité que comme une source de problème:

Doctrine 2 et plusieurs-à-Plusieurs lien de la table avec un champ supplémentaire

Alors ce que j'ai constaté, c'est que je ne l'ai toujours pas obtenir un Stock entité... et la base de données elle-même n'avait pas de "montant" -champ.

J'ai vraiment besoin d'être capable de se lier à ces magasins et produits dans un tableau des stocks (entre autres choses)... donc, juste l'ajout de la bourse sur le produit lui-même n'est pas une option.

root@hdev:/var/www/test/library# php doctrine.php orm:info
Found 2 mapped entities:
[OK]   Entity\Product
[OK]   Entity\Store

Et quand j'ai créer la base de données, cela ne me donne pas le droit de champs dans le tableau des stocks:

Doctrine 2 et plusieurs-à-Plusieurs lien de la table avec un champ supplémentaire

Donc, la recherche de certaines choses ici, j'ai découvert que plusieurs-à-plusieurs connexions ne sont pas des entités et ne peuvent donc avoir des valeurs. J'ai donc essayé de changer à une table séparée avec les relations aux autres, mais il ne fonctionne toujours pas.

Ce que je fais mal ici?

  • Ok, j'ai trouvé un couple de mentions indiquant qu'il n'est pas possible d'avoir plusieurs-à-plusieurs connexions à l'aide de la Doctrine, avec des commentaires en conseillant d'éviter ces relations.. mais que faire si vous êtes vraiment coincé avec une situation comme celle que j'ai décrit dans ma question initiale? J'ai une base de données complète, compatible avec Magento, qui a complètement s'appuie sur plusieurs-à-plusieurs liens. Donc, fondamentalement, je me dit "ORM Doctrine ne peut pas gérer plusieurs-à-plusieurs, ne l'utilisez pas" ??
  • Voir aussi Doctrine2: la Meilleure façon de gérer plusieurs-à-plusieurs avec des colonnes supplémentaires dans la table de référence
  • Serait de vous donner des +100 si je le pouvais, pour les efforts que vous avez faits pour expliquer exactement ce que je me demandais à propos de telle façon agréable 🙂