2017-09-06 3 views
0

テスト用にノードツリーをクリアして、ルートノードのすべての子を削除できません。Doctrine PHPCR:ルートドキュメントから子供を削除するには?

<?php 
$dm = $this->getDocumentManager(); 
$rootDoc = $dm->find(null,'/'); 
/** @var AbstractDocument[] $children */ 
$children = $rootDoc->getChildren(); 
foreach ($children as $child) { 
    echo $child->getUuid()."\n"; 
    $dm->remove($child); 
} 
$dm->flush(); 

Iは、ルートノードは、汎用のインスタンスであり、次の例外を

Doctrine\ODM\PHPCR\PHPCRException: Cannot move/copy children by assignment as it would be ambiguous. Please use the DocumentManager::move() or PHPCR\Session::copy() operations for this: [..] 

を取得し、AbstractDocumentを親-ID-戦略を有しています。

答えて

0

AbstractDocumentの@Nodenameプロパティがありませんでした。したがって、ノードを作成できますが、ノードは削除できません。

編集:これは解決されません。 @Nodenameプロパティが存在する場合は、設定する必要があり、自動生成された機能を使用することはできません。

関連する問題