0

我是 Doctrine 2 的新手。刚开始我遇到了一个大问题,我在 Google 中没有找到任何解决方案。我想将树保留在数据库中。我找到了一个 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);

但它什么也没做。我查看了 createRoot() 函数,发现函数 flush() 不起作用:

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

但我不知道为什么。它不会抛出异常,也不会返回任何内容。有任何想法吗?

4

1 回答 1

0

您找到的那个扩展有 36 次提交,并在一年前更新。您可能想查看此扩展程序https://github.com/l3pp4rd/DoctrineExtensions,它有 1312 次提交并在 2 天前更新。您可以使用它来构建树:https ://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/tree.md

问题可能是因为您没有在您的任何实体上执行 persist() (除非该扩展处理了这一点,但扩展实际上不应该这样做)。

于 2013-08-15T17:19:49.947 回答