(Désolé pour ma question incohérente : J'ai essayé de répondre à certaines questions au fur et à mesure que j'écrivais ce billet, mais voilà :)
J'essaie de créer un modèle de base de données avec une relation many-to-many dans une table de liens, mais qui a également une valeur par lien, dans ce cas une table de stockage. (Il s'agit d'un exemple de base pour d'autres problèmes que j'ai, mais j'ai pensé que je devais juste le tester avec ceci avant de continuer).
J'ai utilisé exportmwb pour générer les deux entités Store et Product pour cet exemple simple, les deux sont affichés ci-dessous.
Cependant, le problème actuel est que je n'arrive pas à trouver comment accéder à la valeur stock.amount (int signé, car il peut être négatif) en utilisant Doctrine. De plus, lorsque j'essaie de créer les tables en utilisant la fonction orm:schema-tool:create de doctrine
Cela n'a donné que deux entités et trois tables, dont une table de liens sans valeurs et deux tables de données, étant donné que les relations plusieurs à plusieurs ne sont pas des entités elles-mêmes et que je ne peux avoir que le produit et le magasin comme entité.
En toute logique, j'ai donc essayé de modifier mon modèle de base de données pour que le stock soit une table distincte avec des relations avec le magasin et le produit. J'ai également réécrit les noms des champs pour pouvoir exclure cette source de problème :
Ensuite, j'ai constaté que je n'avais toujours pas d'entité Stock... et que la base de données elle-même n'avait pas de champ "montant".
J'avais vraiment besoin de pouvoir lier ces magasins et ces produits dans une table de stock (entre autres choses)... donc ajouter le stock 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 je crée la base de données, je n'obtiens toujours pas les bons champs dans la table des stocks :
En cherchant un peu ici, j'ai découvert que les connexions many-to-many ne sont pas des entités et ne peuvent donc pas avoir de valeurs. J'ai donc essayé de la changer en une table séparée avec des relations avec les autres, mais cela ne fonctionne toujours pas.
Qu'est-ce que je fais de mal ici ?