小编ick*_*sde的帖子

学说中的两个生成价值观

我想在我的Doctrine-Entity中实现一个人类可读的ID.我想保持DB-ID工作并添加类似"PRE12-00005"(带有前缀和年份,并且每年新的0开始).我尝试添加一个Custom-ID-Generator,但似乎Doctrine无法在一个实体中使用两个生成的值.

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

/**
 * @var string
 * @ORM\Column(name="name", type="string", length=25, unique=true)
 * @ORM\GeneratedValue(strategy="CUSTOM")
 * @ORM\CustomIdGenerator(class="NameGenerator")
 */
protected $name;
Run Code Online (Sandbox Code Playgroud)

Doctrine总是尝试将生成器的返回值保存到"id"-Field中,并将null保存为"name".有没有其他方法来实现它?

php mysql doctrine symfony doctrine-orm

16
推荐指数
1
解决办法
4073
查看次数

标签 统计

doctrine ×1

doctrine-orm ×1

mysql ×1

php ×1

symfony ×1