(Вибачте за моє незв’язне запитання: я намагався відповісти на деякі запитання, коли писав цей пост, але ось він :)
Я намагаюся створити модель бази даних зі зв'язком "багато-до-багатьох" усередині таблиці посилань, але яка також має значення для кожного посилання, в даному випадку таблиці збереження запасів. (це базовий приклад для більшої кількості проблем, які у мене виникають, але я думав, що просто перевірю це на цьому, перш ніж продовжувати).
Я використав exportmwb для створення двох Entities Store і Product для цього простого прикладу, обидва відображені нижче.
Однак проблема зараз полягає в тому, що я не можу зрозуміти, як отримати доступ до значення stock.amount (підписаний int, оскільки це може бути негативно) за допомогою Doctrine. Крім того, коли я намагаюся створити таблиці, використовуючи функцію doctrine's orm: schema-tool: create
Це дало лише дві сутності та три таблиці, одну як таблицю посилань без значень та дві таблиці даних, оскільки відносини багато-до-багатьох не є сутностями, тому я можу мати лише Product і Store як сутність.
Отже, логічно, я спробував змінити модель бази даних, щоб мати запас як окрему таблицю з відносинами для зберігання та продукту. Я також переписав імена полів, щоб мати можливість виключити це як джерело проблеми:
Тоді я виявив, що я все ще не отримав сутність запасу ... і сама база даних не мала поля "сума".
Мені дійсно потрібно було зв’язати ці магазини та товари в таблиці запасів (крім іншого) ... так що просто додавати запас на сам товар не є варіантом.
root@hdev:/var/www/test/library# php doctrine.php orm:info
Found 2 mapped entities:
[OK] Entity\Product
[OK] Entity\Store
І коли я створюю базу даних, вона все одно не дає мені правильних полів у таблиці запасів:
Отже, розглядаючи деякі речі тут, я виявив, що зв’язки «багато-до-багатьох» не є сутностями і, отже, не можуть мати значень. Тому я спробував змінити його на окрему таблицю зі зв’язками з іншими, але це все одно не спрацювало.
Що я тут роблю не так?