ems / beetree
用于操作b树的通用库
v0.3.1
2024-09-18 09:47 UTC
Requires
- php: >=8.2.0
- ems/collection: 0.3.*
- illuminate/database: 11.*
Requires (Dev)
- phpunit/phpunit: 11.1.2
README
一个用于操作b树的通用库。
此库提供了一些接口来操作b树。
到目前为止,只有两种b树模型实现
- Eloquent\AdjacencyListModel 和
- Eloquent\OrderedAdjacencyListModel
我需要这些库来完成一些数据库任务,这些任务不允许使用嵌套集合或其他实现。嵌套集合和尤其是ClosureTable的一个大缺点是所有节点之间的依赖性。
如果你想在另一张表的另一棵树中复制树的一部分,这将因为lft、rgt或closuretables的依赖性而变得非常有趣。所以这个库是为了提供一个通用的接口来访问树,在每种情况下,你可以决定使用任何树实现,而不改变周围的逻辑。
接口的名称与其它实现(如 etrepat/baum
或 franzose/ClosureTable
)略有不同。这是为了将接口实现写入你现有的类中。