2012-07-31 38 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