将具有关系值的实体值复制到另一个实体中


Replicate entity values with relationship values into another entity

我有一个名为user的实体,我想将实体值的精确副本复制到另一个名"history"或"缓存"或作为">订单用户"的实体中以备记录,所以如果用户实体值发生变化,我们将有用户值的副本和历史中包含其子实体的字段的长列表。

解决方案

我尝试过这个解决方案,但我所有的房产都是私人的,这不适用于此。因为它只需要公共财产(除非我错了)。

Symfony 2-将实体克隆到不同的表

我已经通过保护父扩展实体属性解决了这个问题,下面的解决方案当时运行良好。

Symfony 2-将实体克隆到不同的表

实体副本

class OrderProduct extends Product {
}
// make sure product entity property values are protected and not private. 

解决方案2

如果你想保留所有更改的完整历史,@JmilL和@Gerben的解决方案也值得研究。

https://github.com/simplethings/EntityAudit

https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/loggable.md