2016-01-06 27 views
1

我已经实体,称为用户,我希望有实体值的精确拷贝到一个名为“历史”或“缓存”另一个实体或为“为了用户”为了保存记录,所以使用户实体值发生变化时,我们将用历史记录中的子实体复制用户值和长字段列表。复制实体关系值的值到另一个实体

解决方案

我已经试过这个解决方案,但我的所有属性都未被此工作专用。因为它只需要公共属性(除非我错了)。

Symfony 2 - Clone entity to different table

+1

我建议寻找到已经取得的功能https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/loggable.md | https://github.com/simplethings/EntityAudit – JimL

+1

你也可以使用反射来访问私有值或设置函数 –

+0

@JasonRoman当使用属性“无法访问非公开成员AppBundle \ Entity \ Coupon :: code “ – Basit

回答

0

我已经通过使被保护父扩展实体属性和下面的解决方案工作得很好,然后解决问题。

Symfony 2 - Clone entity to different table

实体复制

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