嗨,我想知道在控制器中更新了哪个字段,我没有发现任何可能听起来像我正在尝试在UnitOfWork的API文档中实现的内容。 例如,我想添加类似于此
的@PreUpdate代码/** @PreUpdate */
function updateAllIsDefaultFields(){
//only if $this->isDefault propery for this entity is changed to 1 from its previous state, then update all other entities so they all have isDefault to 0
//else, means that this field is not changed, don't do anything
}
或者必须在每次操作时从控制器完成此操作?
我知道每次将$ this-> isDefault设置为1时我都可以这样做,但我想避免它的性能,我可能会发现它对其他一些场景也很有用。 提前致谢
答案 0 :(得分:1)
答案 1 :(得分:1)
你必须写一个Event Subscriber。可能使用onFlush
事件,您可以从UnitOfWork中检索实体更改集,以确定某个字段是否已更新,然后执行您想要的任何操作。