在Symfony中自动生成ID值

时间:2017-05-16 12:39:54

标签: php mysql symfony

在Symfony框架中生成的实体有一个ID字段,但是该字段没有setter(setID())。因此,在持久化和刷新之后,ID字段中第一个进入数据库的条目是' 0'。但随后的条目也恰好是' 0'。如何确保下一次进入数据库时​​获得的值为1,并随后为每个条目增加1。由于此问题,我违反了完整性约束。

2 个答案:

答案 0 :(得分:0)

您实体中的Id字段应具有@Id注释。这意味着该字段是标识符/主键。默认情况下,doctrine使用AUTO策略,可以更改它。请查看doctrine documentation

答案 1 :(得分:0)

有效的id定义的例子:

/**
 * @var int
 *
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;