harp-orm/nested

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Adjacency List (parentId column) for Harp ORM

0.3.0 2014-07-14 07:23 UTC

This package is auto-updated.

Last update: 2021-07-21 14:43:45 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version

Adjacency List (parentId column) for Harp ORM

Usage

Add the Trait to your Model

// Model Class
use Harp\Nested\NestedTrait;

class Category extends AbstractModel
{
    use NestedTrait;

    public static function initialize($config)
    {
        NestedTrait::initialize($config);

        // Other initializations
        // ...
    }
}

Database Table:

┌─────────────────────────┐
│ Table: Category         │
├─────────────┬───────────┤
│ id          │ ingeter   │
│ name        │ string    │
│ parentId*   │ integer   │
└─────────────┴───────────┘
* Required fields

Methods

It will add "parent" and "children" Rels to the repo. The model will get the convenience methods:

Method Description
getParent() Return the parent model
setParent(AbstractModel $parent) Set the parent model
getChildren() Get immidiate children. Returns a Models object
isRoot() Boolean check if it is root (has parent) or not
getParents() Return all the parents, including root. Models object

License

Copyright (c) 2014, Clippings Ltd. Developed by Ivan Kerin

Under BSD-3-Clause license, read LICENSE file.