在Doctrine中使用唯一ID设置为NULL创建的实体对象

时间:2016-03-11 06:55:58

标签: php symfony doctrine-orm

我有一个User实体类,我通常使用php bin/console doctrine:generate:entities。此类具有唯一ID 在其变量中:

class User 
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\Column(type="integer")
     */
    private $id;
    (...)

令我惊讶的是,当我在代码中调用$user=new User();时,新创建的对象将$id设置为NULL。鉴于我给出的注释,Doctrine不应该自动设置吗?

当然,我知道我可以在课堂上添加setId方法,但我觉得这不是正确的做法。任何建议表示赞赏。

1 个答案:

答案 0 :(得分:2)

将在$em->flush($user)上设置唯一ID。即插入表格后。

您可以在doctrine's documentation中获取更多信息。