0

私はDoctrine 2の初心者です。最初は大きな問題があり、Googleで解決策が見つかりませんでした。DBにツリーを保持したい。NestedSet プラグイン ( https://github.com/blt04/doctrine2-nestedset ) を見つけました。私はそれをダウンロードし、ツリーを構築しようとしました。私はこの方法を試しました(ドキュメントと同じです):

    $config = new \DoctrineExtensions\NestedSet\Config($entityManager, 'src\File');
    $nsm = new \DoctrineExtensions\NestedSet\Manager($config);

    $mainFolder = new \src\File();
    $mainFolder->setName('Folder 1');
    $nsm->createRoot($mainFolder);

しかし、それは何もしません。私はiside createRoot()関数を見て、関数flush()が機能しないことを理解しました:

    $this->getEntityManager()->flush()

しかし、理由はわかりません。例外をスローせず、何も返しません。何か案は?

4

1 に答える 1

0

あなたが見つけた拡張機能には 36 件のコミットがあり、1 年前に更新されました。1312 件のコミットがあり、2 日前に更新されたこの拡張機能https://github.com/l3pp4rd/DoctrineExtensionsをチェックしてみてください。これを使用してツリーを構築できます: https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/tree.md

問題はおそらく、どのエンティティにも persist() を実行していないためです (その拡張機能がそれを処理する場合を除きますが、拡張機能が実際にこれを行うべきではありません)。

于 2013-08-15T17:19:49.947 に答える