flush()在Doctrine 2中不起作用

时间:2013-08-15 15:34:55

标签: php doctrine-orm

我是Doctrine 2的新手。我在开始时遇到了一个大问题,我在谷歌找不到任何解决方案。 我想在DB中保留树。我找到了一个N​​estedSet插件(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()

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

1 个答案:

答案 0 :(得分:0)

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

问题可能是因为你没有在你的任何实体上做一个persist()(除非那个扩展负责这个,但扩展不应该这样做)。