在符号2中插入多对多关系


Insert Many to many relation in symfony2

我正试图在我的symfony2项目中插入一个多对多关系。我遵循了Symfony2原则的所有步骤:ManyToMany关系不保存到数据库

除category_id外,所有记录都输入到项目表中。。。

知道吗???

这是因为category_id不应该在items表中,而是在items_categories表中(这是多对多的关系,因此Doctrine将创建第三个表来实现这一点)

您在Item实体中指定$categories字段(Doctrine不会创建任何其他列,如category_id)。category_id是数据库概念。在ORM级别上,您不使用列,只使用实体属性

"我已经在items_categories中有category_id了…我应该从items表中删除列category_id吗?"

实际上,您的Item实体不应该有category_id属性(如表所示),只有"categories",smth类似:

/**
  * @var array
  *
  * @ORM'ManyToMany(targetEntity="Category", inversedBy="items")
  */
protected $categories = array();