Php 在symfony2中插入多对多关系

Php 在symfony2中插入多对多关系,php,mysql,symfony,doctrine,Php,Mysql,Symfony,Doctrine,我试图在我的symfony2项目中插入多对多关系。 我已经遵循了所有的步骤 除类别id外,所有记录均输入项目表中 有什么想法吗 “我已经在items\u categories中设置了category\u id…是否应该从items表中删除列category\u id??” 实际上,您的项目实体不应具有category_id属性(如表所示),只应具有“categories”,例如: /** * @var array * * @ORM\ManyToMany(targetEntity="C

我试图在我的symfony2项目中插入多对多关系。 我已经遵循了所有的步骤

除类别id外,所有记录均输入项目表中

有什么想法吗

“我已经在items\u categories中设置了category\u id…是否应该从items表中删除列category\u id??”

实际上,您的项目实体不应具有category_id属性(如表所示),只应具有“categories”,例如:

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

这是因为category_id不应该在items_categories表中,而应该在items_categories表中(这是多对多关系,所以条令将创建第三个表来实现这一点)


在项目实体中指定$categories字段(条令不会创建任何类似categories\u id的附加列)。类别id是数据库概念。在ORM级别,您不使用列-您只使用实体属性

请发布您实体中的代码,以及您保存实体的控制器中的代码。这是因为类别id不应位于items表中,而应位于items\u categories表中(这是多对多关系,因此Doctrine将创建第三个表以实现此目的)我已在项目类别中设置了类别id。。。我是否应该从items表中删除列category_id??您在项目实体中指定$categories字段(条令不会创建任何类似category_id的附加列)。我在项目实体中有$categories字段。。。。它在category\u items表中用category和item id漂亮地保存了数据,但是我想知道我应该在items实体中维护category\u id吗??