我正在使用NetBeans IDE 8.0,刚刚开始学习symfony2。我尝试生成CRUD,但得到消息
The CRUD generator expects the entity object has a primary key field named"id" with a getId() method.
但是当检查我的entity
文件时,我看到
private $userid;
public function getUserid()
{
return $this->userid;
}
有谁可以分享给我,如何修复它?我不知道我有什么问题!我期待着看到你的回复很快!
您需要将映射元数据添加到字段$userid
(如果它是主键)。如果您使用注释进行映射,则需要在$userid
字段上方的注释块中添加* @ORM'Id
。
查看更多信息:http://doctrine-orm.readthedocs.org/en/latest/reference/basic-mapping.html#identifiers-primary-keys
创建实体时,实体应该具有$id
, getId()
和setId($id)
方法属性和正确的映射信息,它可以像这样:
/**
*
* @ORM'Table(name="your_entity")
* @ORM'Entity
*/
class YourEntity {
/**
* @var integer
*
* @ORM'Column(name="id", type="integer")
* @ORM'Id
* @ORM'GeneratedValue(strategy="AUTO")
*/
private $id;
public function setId($id){
$this->id = $id;
}
public function getId(){
return $this->id;
}
}
如果您想将列名称从id
重命名为user_id
,您可以通过设置Column
注释name
属性来更改它,如下所示:
/**
* @var integer
*
* @ORM'Column(name="user_id", type="integer")
* @ORM'Id
* @ORM'GeneratedValue(strategy="AUTO")
*/
private $id;