Tag
Tag
表與多對一(多個標籤與一個類別相關,或者一個類別包含多個標籤)與Category
表有關係。 。多對一 - Symfony不生成正確的基於ID的關係
我應該從表Tag
到表Category
獲得正常的多對一關係。它應該基於來自表Category
(它被命名爲id_category
)的ID。但是,相反,我得到... 表中的VARCHAR(255)
列!
下面是標籤實體的部分代碼:
/**
* @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
主義給我VARCHAR
,而不是INTEGER
作爲id與外鍵。有誰知道爲什麼?
如何告訴 Symfony在這種情況下作出關係?
websitecategory? –
我的舊名,我編輯過它。任何線索? – forsberg
它與SF2無關,但與Doctrine2相關,因爲該命令屬於'DoctrineORMBundle'。奇怪的是,更新的字段應該被命名爲'id_category',而不是'category' ... – Florent