symfony2 プロジェクトに多対多の関係を挿入しようとしています。Symfony2-Doctrine のすべての手順に従いました: ManyToMany 関係はデータベースに保存されません
category_id を除くすべてのレコードが items テーブルに入力されます...
何か案が ???
symfony2 プロジェクトに多対多の関係を挿入しようとしています。Symfony2-Doctrine のすべての手順に従いました: ManyToMany 関係はデータベースに保存されません
category_id を除くすべてのレコードが items テーブルに入力されます...
何か案が ???
これは、category_idをitemsテーブルではなく、items_categoriesテーブルに含める必要があるためです(多対多の関係であるため、Doctrineはこれを実現するために3番目のテーブルを作成します)
Itemエンティティで$categoriesフィールドを指定します(Doctrineはcategory_idのような追加の列を作成しません)。category_idはデータベースの概念です。ORMレベルでは、列は使用せず、エンティティプロパティのみを使用します
「私はすでに items_categories に category_id を持っています... item テーブルから列 category_id を削除する必要がありますか??」
実際には、Item エンティティには (テーブルのように) category_id プロパティはなく、次のような「カテゴリ」のみが必要です。
/**
* @var array
*
* @ORM\ManyToMany(targetEntity="Category", inversedBy="items")
*/
protected $categories = array();