ems/beetree

A generic library to work with b-trees
8,559 2
Install
composer require ems/beetree
Latest Version:v0.3.1
PHP:>=8.2.0
Laravel:11
Older releases:5
License:MIT
Last Updated:Sep 18, 2024
Links: GitHub  ·  Packagist
Maintainer: mtils

BeeTree

A generic library to work with b-trees.

This library offers a few interfaces to work with b-trees.

Until now there are only two implementations of such a b-tree model:

  • Eloquent\AdjacencyListModel and
  • Eloquent\OrderedAdjacencyListModel

I needed this libs for a few database tasks which did not allow nested set or other implementations. One big disadvantage of nested set and especially ClosureTable are the dependecies of all nodes among themselves.

If you like to copy one part of a tree into another tree of another table this is getting very funny with dependencies of lft, rgt or closuretables. So this library is to have a common interface to access trees and in each case you can deceide to use whatever tree implementation without changing the surrounding logic.

The interfaces have slightly different names of other implementations like etrepat/baum or franzose/ClosureTable. This is intended to write the interface implementations into your existing classes.

Related Packages

marcovo/laravel-dag-model

An implementation of the Directed Acyclic Graph (DAG) for Laravel models

2,669 3
kodeine/laravel-meta

Fluent Meta Data for Eloquent Models, as if it is a property on your model.

969,883 421
gbrock/laravel-table

Table functionality for Laravel models

47,004 76
spatie/laravel-translatable

A trait to make an Eloquent model hold translations

31,495,367 2,460

Version History

Version Released PHP Laravel License
v0.3.1 >=8.2.0 11.* MIT
v0.3.0 >=8.2.0 11.* MIT
v0.2.0 >=5.4.0 5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.* MIT
v0.1.3 >=5.4.0 5.0.* MIT
v0.1.2 >=5.4.0 5.0.* MIT