Zend 1.x и Doctrine 2 - проблема копирования объекта и его отношений - PullRequest
1 голос
/ 12 сентября 2011

Я пытаюсь реализовать эквивалент -> copy (true); метод, который существовал в Doctrine 1.x, в моем приложении Doctrine 2, но он не работает.

Кто-нибудь знает, что случилось с -> copy ()?

Спасибо

1 Ответ

3 голосов
/ 12 сентября 2011

Я думаю, вы должны использовать clone:

$new_one = clone $entity;
$manager->persist($new_one);

Если вы тоже хотите клонировать ассоциации, вы можете клонировать их в __clone:

function __clone() {
    $this->someAssoc = clone $this->someAssoc;
}

Существуют некоторые ограничения, см. http://www.doctrine -project.org / docs / orm / 2.0 / en / cookbook / реализовать-wakeup-or-clone.html

...