我们最近更新了Sylius 0.17
,它在相当多的实体上引入了不可变的code
字段。我们目前只使用promotion
部分,这是我们Symfony标准应用程序的一部分。
PromotionType
)添加AddCodeFormSubscriber
eventsubscriber。如果我们的Controller在保存后更新了促销,它就不会被更改,所以我因为不变性而错过了一些影响它的类。但是,我无法找出究竟发生了什么。
因此,表单不断抛出错误,因为代码不是唯一的。那么,如何为Sylius code
字段配置某种生成器?
修改:我们通过将code
设置为“前缀+ id”来迁移现有数据。表单订阅者实际上添加了一个以1
作为值的字段。所以,不知何故设定了价值。如果我们保存促销,然后再添加一个,code
字段仍设置为1
。究竟是什么确定此值应设置为1
?在将实体绑定到表单之前,表单不尊重我们手动执行的Promotion::setCode()
。