Это мой документ
/** @ODM\Field(type="string") */
private $Name;
/** @ODM\Field(type="string") */
private $NormalizedName;
/** @ODM\EmbedMany(targetDocument="BaselineBudget\Document\BaselineBudgetItems") */
private $BaselineBudgetItems = array();
private $BaselineBudgetItems = array();
Мой код клона
$data = $BaselineBudgetModel->findById($this->project_id, $find, $sort);
if(!empty($data)) {
$clone = clone ($data);
}
$this->dm->persist($clone);
$this->dm->flush();
Каждая вещь клонируется отдельно от вложенного документа EmbedMany, который является BaselineBudgetItems. При обычной вставке весь код работает, но при его создании клонированный документ не работает.
Для всех людей, которые попали сюда через поиск или тому подобное, начиная с версии 1.0.3 ODM будет клонировать все встроенные документы для вас, смотрите 1.0.3 выпуск блога.
Других решений пока нет …