(一貫性のない質問をしてすみません:この投稿を書いているときにいくつかの質問に答えようとしましたが、ここにあります:)
リンクテーブル内に多対多の関係を持つデータベースモデルを作成しようとしていますが、リンクごとの値(この場合は在庫管理テーブル)もあります。(これは私が抱えているより多くの問題の基本的な例ですが、続行する前にこれでテストしたいと思いました)。
この簡単な例では、 exportmwbを使用して2つのエンティティストアと製品を生成しました。どちらも以下に表示されています。
ただし、現在の問題は、Doctrineを使用してstock.amount値(負の値になる可能性があるため、signed int)にアクセスする方法がわからないことです。また、doctrineのorm:schema-tool:create関数を使用してテーブルを作成しようとすると
これにより、2つのエンティティと3つのテーブルのみが生成されました。1つは値のないリンクテーブルであり、2つのデータテーブルです。多対多の関係はエンティティ自体ではないため、エンティティとしてはProductとStoreしか持てません。
そこで、論理的には、データベースモデルを変更して、店舗と商品の関係を持つ個別のテーブルとして在庫を設定しようとしました。また、問題の原因としてそれを除外できるように、フィールド名を書き直しました。
それから私が見つけたのは、私はまだストックエンティティを取得していなかったということでした...そしてデータベース自体には「金額」フィールドがありませんでした。
私は本当にこれらの店舗と商品を(とりわけ)在庫テーブルにまとめることができる必要がありました...したがって、商品自体に在庫を追加することはオプションではありません。
root@hdev:/var/www/test/library# php doctrine.php orm:info
Found 2 mapped entities:
[OK] Entity\Product
[OK] Entity\Store
また、データベースを作成しても、ストックテーブルに適切なフィールドが表示されません。
そこで、ここでいくつか調べてみると、多対多の接続はエンティティではないため、値を持つことができないことがわかりました。そこで、他のテーブルとの関係を持つ別のテーブルに変更しようとしましたが、それでも機能しませんでした。
私はここで何が間違っているのですか?