Клонирование сущности в режиме CASCADE

Мне нужно найти объект в БД по некоторым параметрам, давайте возьмем ID в качестве примера, тогда у меня есть эта сущность:

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use AppBundle\Model\IdentifierAutogeneratedEntityTrait;
use DateTime;

/**
* @ORM\Entity
* @ORM\Table(name="negocio.solicitud_usuario", schema="negocio")
* @ORM\Entity(repositoryClass="AppBundle\Entity\Repository\SolicitudUsuarioRepository")
*/
class SolicitudUsuario
{
use IdentifierAutogeneratedEntityTrait;

/**
* @ORM\ManyToOne(targetEntity="SolicitudUsuario", cascade={"persist", "remove"})
* @ORM\JoinColumn(name="padre_id", referencedColumnName="id")
*/
protected $padre;

/**
* @var ArrayCollection
* @ORM\OneToMany(targetEntity="ProductoSolicitud", mappedBy="solicitud_usuario")
*/
protected $producto_solicitud;

/**
* @var ArrayCollection
* @ORM\OneToMany(targetEntity="Constancia", mappedBy="solicitud_usuario")
*/
protected $constancias;/**
* @ORM\ManyToOne(targetEntity="Usuario", cascade={"persist"})
* @ORM\JoinColumn(name="usuario_id", referencedColumnName="id")
*/
protected $usuario;

/**
* @ORM\ManyToOne(targetEntity="TipoTramite", cascade={"persist"})
* @ORM\JoinColumn(name="tipo_tramite_id", referencedColumnName="id")
*/
protected $tipo_tramite;

/**
* @ORM\Column(name="fecha_creacion", type="datetime", nullable=false)
*/
protected $fecha_creacion;

/**
* @ORM\ManyToOne(targetEntity="TipoRegistro", cascade={"persist"})
* @ORM\JoinColumn(name="tipo_registro_id", referencedColumnName="id")
*/
protected $tipo_registro;

/**
* @ORM\ManyToOne(targetEntity="EstadoSolicitud", cascade={"persist"})
* @ORM\JoinColumn(name="estado_solicitud_id", referencedColumnName="id")
*/
protected $estado_solicitud;

/**
* @ORM\Column(name="diferencia_pago", type="decimal", precision=6, scale=2, nullable=false)
*/
protected $diferencia_pago;

/**
* @ORM\ManyToOne(targetEntity="OficinaRegional", cascade={"persist"})
* @ORM\JoinColumn(name="oficina_regional_id", referencedColumnName="id", nullable=true)
*/
protected $oficina_regional;
}

Эта сущность имеет много связей, как вы уже могли заметить, а также связанные сущности имеют другие отношения и так далее. Как найти просто SolicitudUsuario Я клонирую текущую запись | сохраняя целостность объекта? Посмотрите на этот пример:

  • найти SolicitudUsuario по ID = 1
  • Запись найдена
    • Текущий клон SolicitudUSuario сущность и все связанные с ней сущности к новой.
    • Новая запись будет иметь padre=1

Любой совет? Понятно, чего я хочу добиться?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …