1

symfony2 プロジェクトに多対多の関係を挿入しようとしています。Symfony2-Doctrine のすべての手順に従いました: ManyToMany 関係はデータベースに保存されません

category_id を除くすべてのレコードが items テーブルに入力されます...

何か案が ???

4

2 に答える 2

0

これは、category_idをitemsテーブルではなく、items_categoriesテーブルに含める必要があるためです(多対多の関係であるため、Doctrineはこれを実現するために3番目のテーブルを作成します)

Itemエンティティで$categoriesフィールドを指定します(Doctrineはcategory_idのような追加の列を作成しません)。category_idはデータベースの概念です。ORMレベルでは、列は使用せず、エンティティプロパティのみを使用します

于 2012-09-12T09:53:37.320 に答える
0

「私はすでに items_categories に category_id を持っています... item テーブルから列 category_id を削除する必要がありますか??」

実際には、Item エンティティには (テーブルのように) category_id プロパティはなく、次のような「カテゴリ」のみが必要です。

/**
  * @var array
  *
  * @ORM\ManyToMany(targetEntity="Category", inversedBy="items")
  */
protected $categories = array();
于 2012-09-12T07:55:55.327 に答える