我试图在我的 symfony2 项目中插入多对多关系。我已按照Symfony2-Doctrine 中的所有步骤操作:ManyToMany 关系未保存到数据库
除了 category_id 之外,所有记录都输入到项目表中...
任何的想法 ???
我试图在我的 symfony2 项目中插入多对多关系。我已按照Symfony2-Doctrine 中的所有步骤操作:ManyToMany 关系未保存到数据库
除了 category_id 之外,所有记录都输入到项目表中...
任何的想法 ???
“我已经在 items_categories 中有 category_id ...我应该从 items 表中删除列 category_id 吗??”
实际上,您的 Item 实体不应具有 category_id 属性(如表),只有“类别”,例如:
/**
* @var array
*
* @ORM\ManyToMany(targetEntity="Category", inversedBy="items")
*/
protected $categories = array();
这是因为 category_id 不应该在 items 表中,而是在 items_categories 表中(它是多对多关系,因此 Doctrine 将创建第三个表来实现这一点)
您在 Item 实体中指定 $categories 字段(Doctrine 不会创建任何其他列,例如 category_id)。category_id 是数据库概念。在 ORM 级别上,您不使用列 - 您只使用实体属性