Symfony 如何在条令2中使用me主键策略

Symfony 如何在条令2中使用me主键策略,symfony,doctrine,Symfony,Doctrine,我有一个实体(这个实体是从itunes.apple.com解析的) 此实体具有方法setAppleId和getAppleId 我想把主键(id)另存为apple id 这是如何工作的?截至注释文档: class App implements AppInterface { use AppImageTrait, AppLanguageTrait, AppCommonTrait, AppCategoriesTrait; /** * @var integer *

我有一个实体(这个实体是从itunes.apple.com解析的)

此实体具有方法setAppleId和getAppleId

我想把主键(id)另存为apple id

这是如何工作的?

截至注释文档:

class App implements AppInterface
{
    use AppImageTrait, AppLanguageTrait, AppCommonTrait, AppCategoriesTrait;

    /**
     * @var integer
     * 
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="NONE")
     * @ORM\Column(name="apple_id", type="integer")
     */
    protected $apple_id;

    /* @param int $appleId */
    public function setAppleId($appleId)
    {
        $this->apple_id = (int) $appleId;
    }

    /* @return int */
    public function getAppleId()
    {
        return $this->apple_id;
    }
}
这将防止ORM使用自动增量ID,同时将设置标识符的任务留给您


请注意:不要让您的实体容器知道。

这应该是可行的。问题是什么?Id自动生成(自动加入策略)((谢谢,但更新应用程序我有一个PDO错误:SQLSTATE[23505]:唯一冲突:7错误:重复键值违反唯一约束“apps\u pkey”详细信息:key(apple\u Id)=(547409501)已经存在您以前可能有一个损坏的架构,所以您有重复的架构。不,我正在尝试创建一个新的应用程序,将其设置为appleId。如果我从存储库加载此应用程序,一切正常!谢谢!
class App implements AppInterface
{
    use AppImageTrait, AppLanguageTrait, AppCommonTrait, AppCategoriesTrait;

    /**
     * @var integer
     * 
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="NONE")
     * @ORM\Column(name="apple_id", type="integer")
     */
    protected $apple_id;

    /* @param int $appleId */
    public function setAppleId($appleId)
    {
        $this->apple_id = (int) $appleId;
    }

    /* @return int */
    public function getAppleId()
    {
        return $this->apple_id;
    }
}