6

我正在寻找具有所有需要功能的 PHP(使用 MYSQL)嵌套集类。例如:

createLeftNode、createRightNode、createRootNode、createSubNode、deleteNode 和moveTree。不仅是一左一右,一上一下,而且是另一棵树中的一棵树的一部分。

谢谢!

4

6 回答 6

7

看看Doctrine的嵌套行为

于 2008-11-07T14:27:34.793 回答
4

如果您正在处理分层数据,那么嵌套良好的集合非常有用。仅使用 php 数组实现它要复杂得多,特别是如果您想将这些信息保存在数据库中。

你可以试试这个。从未使用过它,但经过简短的代码筛选后,它看起来几乎完成了。

http://www.edutech.ch/contribution/nstrees/index.php

于 2008-11-07T13:48:21.860 回答
2

有一些新的东西:http ://www.sidelis.org/baobab/


旧的和过时的答案。不再支持该库。

我在一个项目中使用了发布的nstrees 库“buggzzy”(http://www.edutech.ch/contribution/nstrees/index.php),我必须让用户能够创建和编辑他公司的组织结构图.

我非常喜欢“ Modified Preorder Tree Traversal ”算法,但在我看来 nstree 库很慢。就我而言,我必须递归地遍历树。也许这是我脚本中的其他内容,速度很慢。

无论如何,我还在寻找替代方案,我最近检查了 PEAR 网站,在那里也找到了一个树库:http: //pear.php.net/package/Tree

PEAR 库似乎不像 NSTREE 那样全面,但我认为它的性能可能更高。

一篇对这个问题帮助很大的文章:Storing Hierarchical Data in a Database

于 2008-11-07T14:34:59.007 回答
1

看看这个库https://github.com/fpietka/Zend-Nested-Set与 Zend 框架一起使用的嵌套集模型的实现

于 2012-01-23T20:34:08.907 回答
0

姗姗来迟,但我更新了https://github.com/fpietka/Zend-Nested-Set(即使有单元测试)。

于 2014-08-29T14:57:36.317 回答
0

我编写了一个嵌套集实现,它使用 Doctrine DBAL 作为数据库抽象层。因为我们将它与 Drupal 一起使用,所以它还跟踪一个revision_id.

https://github.com/previousnext/nested-set

于 2017-02-06T20:37:23.910 回答