我想在我的symfony2项目中插入多对多的关系。 我已按照Symfony2-Doctrine: ManyToMany relation is not saved to database
的所有步骤进行操作所有记录都输入项目表中,但category_id ...
除外任何想法???
答案 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级别,您不使用列 - 您只需使用实体属性