在symfony2中插入多对多关系

时间:2012-09-12 06:39:58

标签: php mysql symfony doctrine

我想在我的symfony2项目中插入多对多的关系。 我已按照Symfony2-Doctrine: ManyToMany relation is not saved to database

的所有步骤进行操作

所有记录都输入项目表中,但category_id ...

除外

任何想法???

2 个答案:

答案 0 :(得分:0)

  

“我在items_categories中已经有了category_id ...我应该从items表中删除列category_id吗?”

实际上你的Item实体不应该有category_id属性(如表),只有“categories”,如:

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

答案 1 :(得分:0)

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

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