我有一个表USER,id
字段配置如下:
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
我希望firstName
列默认为" user12"当id = 12时,或者" user1547"当id = 1547等时
我知道我可以从不同的方式获得相同的结果(例如:在我的"实体"使用getFirstname
方法,或者使用第二个更新firstName值的命令等)但是这不是我的观点:我需要在数据库中使用该值,并且必须在与"插入"的那个命令相同的命令上完成。我的新用户
你认为这可能吗?
我想可以在PostgreSql上使用currval
使用如下命令:
INSERT INTO user (id, firstname, lastname) values (nextval('user_id_seq'), ('user' || currval('tmp_play_id_seq')::text), 'Smith');
但是学说呢?
答案 0 :(得分:1)
如果您使用自动生成的值,则在保存之前您不知道新ID,这意味着您无法将您的名称设置为firstIDVALUE
。
Doctrine与数据库无关,意味着它不能支持一个数据库的专用功能,而只需要使用常用的标准化功能。
所以我现在看到的解决方案很少: