2012-07-31 72 views
1

這裏的情況是: 我有點新的Symfony2和喜歡所有關於它,但我有與學說的一個問題CRUD發生器。我已經從YAML文件開始生成具有Doctrine的實體,但無法使用該原則生成它們的CRUD:generate:crud命令行。問題與主義2 CRUD發電機和標識符不叫「ID」

問題: 出於某種原因,我需要設置一個「身份證」字段和getId()方法,但它那種廢墟所有我的類圖和關係模式所做的工作......

我的問題是: 有沒有辦法讓我的字段名稱保持原狀並獲得原則來生成我的CRUD?

一個YAML例如:

XXX\XXXBundle\Entity\Utilisateur: 
type: entity 
table: utilisateur 
id: 
    pseudo: 
    type: string 
fields: 
    nom: 
    type: string 

我堅持這個......我試圖改變它:

XXX\XXXBundle\Entity\Utilisateur: 
type: entity 
table: utilisateur 
fields: 
    pseudo: # Le pseudo correspond au nom affiché pour identifier un utilisateur. 
    type: string 
    id: true 

但它不會改變任何事情,我總是最後有這個:

[RuntimeException]                      
The CRUD generator expects the entity object has a primary key field named "id" with a getId() method. 

我會很感激,如果有人可以幫助一下!最壞的情況下,我將不得不修改我的所有實體以添加一個自動生成的整數的愚蠢的ID字段...

回答

0

不,這是不可能的。

已經有一個變更請求:上線69 https://github.com/sensio/SensioGeneratorBundle/issues/57

它在DoctrineCrudGenerator.php硬編碼 - 71:

if (!in_array('id', $metadata->identifier)) { 
    throw new \RuntimeException('The CRUD generator expects the entity object has a primary key field named "id" with a getId() method.'); 
} 
+0

我希望爲對方的回答......我還是謝謝你! – 2012-07-31 18:26:03