У меня есть две сущности: почта и почта \ версия.Я настроил его так, чтобы управление версиями автоматически осуществлялось в сущности Post, чтобы разработчику не приходилось использовать Post \ Version вручную.Он не использует EntityManager, просто немного размышлений ... это нормально?
<?php
public function setContent($content)
{
$this->_setVersionValue('content', $content);
}
private function _setVersionValue($property, $value)
{
// get reflection property
$version = clone $this->getActiveVersion();
$refl = new \ReflectionProperty($version, $property);
$refl->setAccessible(true);
// update value
$version->setCreatedBy($this->getCurrentUser());
$refl->setValue($version, $value);
// clear ID
$reflProp = new \ReflectionProperty($version, 'id');
$reflProp->setAccessible(true);
$reflProp->setValue($version, null);
// set to new version
$this->setActiveVersion($version);
}
В посте хранится только ссылка на последнюю версию.Версии имеют обратную ссылку на сообщение, которому они принадлежат.