如何在Symfony中使“映射”成为虚拟字段

时间:2019-02-11 16:02:19

标签: symfony

我的实体中有一个虚拟字段,与数据库无关,但是我以自己的形式使用它。

我想在preUpdate事件监听器中使用它来填充真实字段,但是preUpdate仅在更改真实字段时才出现,而不是虚拟的。

如何使preUpdate事件在虚拟字段更改时出现?

感谢

2 个答案:

答案 0 :(得分:0)

由于您的虚拟字段在数据库中没有映射-Doctrine甚至不了解它们,因为它从ClassMetadata而不是对象本身获取有关实体的信息。

您需要手动处理这些虚拟字段的所有必需逻辑。您最有可能需要向preFlush事件添加侦听器并实现自己的事件生成机制。

答案 1 :(得分:0)

您始终可以尝试使用表单事件更改数据。例如,在提交表单后,通过一些帮助服务计算数据将值添加到您的实体映射字段中。