umbrellio/laravel-ltree

Extension LTree (Postgres) for Laravel

7.4.2 2023-12-22 07:24 UTC

README

Github Status Coverage Status Latest Stable Version Total Downloads Code Intelligence Status Build Status Code Coverage Scrutinizer Code Quality

LTree Extension (PostgreSQL) for Laravel.

Installation

Run this command to install:

php composer.phar require umbrellio/laravel-ltree

How to use

Implement your Eloquent\Model from LTreeModelInterface and use LTreeModelTrait.

Use LTreeService for build path:

  1. when create model: createPath(LTreeModelInterface $model)
  2. when update model: updatePath(LTreeModelInterface $model) for update path for model and children
  3. when delete model: dropDescendants(LTreeModelInterface $model) for delete children models

The get() method returns LTreeCollection, instead of the usual Eloquent\Collection.

LTreeCollection has a toTree() method that converts a flat collection to a tree.

LTreeResourceCollection & LTreeResource, which take LTreeCollection as an argument, will also be useful.

Authors

Created by Korben Dallas.

Supported by Umbrellio