我的实体中有一个虚拟字段,与数据库无关,但是我以自己的形式使用它。
我想在preUpdate
事件监听器中使用它来填充真实字段,但是preUpdate
仅在更改真实字段时才出现,而不是虚拟的。
如何使preUpdate
事件在虚拟字段更改时出现?
感谢
答案 0 :(得分:0)
由于您的虚拟字段在数据库中没有映射-Doctrine甚至不了解它们,因为它从ClassMetadata
而不是对象本身获取有关实体的信息。
您需要手动处理这些虚拟字段的所有必需逻辑。您最有可能需要向preFlush
事件添加侦听器并实现自己的事件生成机制。
答案 1 :(得分:0)
您始终可以尝试使用表单事件更改数据。例如,在提交表单后,通过一些帮助服务计算数据将值添加到您的实体映射字段中。