Adjacency List (parentId column) for Harp ORM
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
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 |
Copyright (c) 2014, Clippings Ltd. Developed by Ivan Kerin
Under BSD-3-Clause license, read LICENSE file.