harp-orm/materialized-path

Materialized path nesting for Harp ORM models

0.3.1 2014-07-17 15:50 UTC

This package is auto-updated.

Last update: 2024-08-21 20:29:27 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version

Materialized path nesting for Harp ORM models.

What is Materialized path? Here's a great explanation: http://bojanz.wordpress.com/2014/04/25/storing-hierarchical-data-materialized-path/ This package does not implement the most advanced implementation, but it works quite well as is.

Usage

Add the Trait to your Model

use Harp\Harp\AbstractModel;
use Harp\MP\MaterializedPathTrait;

class Category extends AbstractModel
{
    public static function initialize($config)
    {
        MaterializedPathTrait::initialize($config);

        // Other initializations
        // ...
    }
}

Database Table:

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

Methods

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

License

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

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