【发布时间】:2012-12-29 11:24:02
【问题描述】:
问题
我正在使用 Symfony2 和 Doctrine2(注释)设置数据库。我完美地遵循了这些示例 (Doctrine2 relationship documentation),但不知何故,当我更新我的架构 (doctrine:schema:update --force) 时,它会创建两个额外的表。
我的两个实体是 Article 和 District,代码如下。
代码
文章实体:
/**
*
* @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 仍然是空的,因此毫无用处。我该如何摆脱它?
【问题讨论】:
标签: php mysql symfony doctrine-orm