无法更改Sylius促销代码字段

时间:2016-05-24 16:17:15

标签: php symfony sylius

我们最近更新了Sylius 0.17,它在相当多的实体上引入了不可变的code字段。我们目前只使用promotion部分,这是我们Symfony标准应用程序的一部分。

  • 表单(PromotionType)添加AddCodeFormSubscriber eventsubscriber。
  • 该实体有一个“唯一”验证器,用于在表单中显示异常消息。

如果我们的Controller在保存后更新了促销,它就不会被更改,所以我因为不变性而错过了一些影响它的类。但是,我无法找出究竟发生了什么。

因此,表单不断抛出错误,因为代码不是唯一的。那么,如何为Sylius code字段配置某种生成器?

修改:我们通过将code设置为“前缀+ id”来迁移现有数据。表单订阅者实际上添加了一个以1作为值的字段。所以,不知何故设定了价值。如果我们保存促销,然后再添加一个,code字段仍设置为1。究竟是什么确定此值应设置为1?在将实体绑定到表单之前,表单不尊重我们手动执行的Promotion::setCode()

0 个答案:

没有答案