Tagtable 与 table 的关系Category为多对一(许多标签与一个类别相关,或者一个类别有许多标签)。
Tag我应该从 table到 table获得正常的多对一关系Category。它应该基于表中的 ID Category(名为id_category)。但是,相反,我得到...表格中的一VARCHAR(255)列Tag!
以下是来自 Tag 实体的部分代码:
/**
* @ORM\Column(nullable=true)
* @ORM\ManyToOne(targetEntity="Category")
* @ORM\JoinColumn(name="id_category", referencedColumnName="id_category")
*/
protected $category;
类别实体没有适当的相关“标签”列,因为它是单向关系。无论如何,这id_category是在实体中声明的方式Category(尽管我认为这并不重要):
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id_category;
我通过 Doctrine2 的命令得到的结果update --dump-sql如下:
ALTER TABLE Tag ADD category VARCHAR(255) DEFAULT NULL
Doctrine 给了我VARCHAR,而不是INTEGER作为带有外键的 id。有谁知道为什么?
在这种情况下如何告诉Symfony 建立关系?