问题
我正在使用 Symfony2 和 Doctrine2(注释)设置数据库。我完美地遵循了这些示例(Doctrine2 关系文档),但不知何故,当我更新我的架构(doctrine:schema:update --force
)时,它会创建两个额外的表。
我的两个实体是文章和地区,代码如下。
代码
文章实体:
/**
*
* @var \Doctrine\Common\Collections\ArrayCollection $districts
*
* @ORM\ManyToMany(targetEntity="District", inversedBy="articles")
* @ORM\JoinTable(name="articles_districts",
* joinColumns={@ORM\JoinColumn(name="article_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="district_id", referencedColumnName="id")}
* )
*/
protected $districts;
区实体:
/**
*
* @var \Doctrine\Common\Collections\ArrayCollection $articles
* @ORM\ManyToMany(targetEntity="Article", inversedBy="districts")
*/
protected $articles;
问题
正在创建的两个额外表是:(articles_districts
我在 JoinTable 部分中指定的一个)和article_district
(另一个以某种方式自动创建的)。
该articles_districts
表按预期工作,并在创建新条目时插入 ID。仍然是空的article_district
,因此非常无用。我该如何摆脱它?