我是Doctrine 2的新手。我在开始时遇到了一个大问题,我在谷歌找不到任何解决方案。 我想在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()
但我不知道为什么。它不会抛出异常,也不会返回任何内容。 有什么想法吗?
答案 0 :(得分:0)
您找到的这个扩展程序有36个提交,并在一年前更新。你可能想看看这个扩展名https://github.com/l3pp4rd/DoctrineExtensions曾有1312次提交,2天前更新。您可以使用它来构建树:https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/tree.md
问题可能是因为你没有在你的任何实体上做一个persist()(除非那个扩展负责这个,但扩展不应该这样做)。