Symfony2 generate CRUD with NetBeans IDE 8.0


Symfony2 generate CRUD with NetBeans IDE 8.0

我正在使用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;