kshatrov/yii2-closure-table-behavior

This extension allows you to get functional for closure table trees.

This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.

dev-master 2014-12-16 16:18 UTC

This package is not auto-updated.

Last update: 2021-11-23 03:10:14 UTC


README

Yii2 port of the yii-closure-table-behavior. Extension allows managing trees stored in database via closure-table method.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require valentinek/yii2-closure-table-behavior "*"

or add

"valentinek/yii2-closure-table-behavior": "*"

to the require section of your composer.json file.

Configuring

First you need to configure model as follows:

class Category extends ActiveRecord
{
    public $leaf;

	public function behaviors() {
		return [
			[
				'class' => ClosureTable::className(),
				'tableName' => 'category_tree'
			],
		];
	}

	public static function find()
	{
		return new CategoryQuery(static::className());
	}
}

Second you need to configure query model as follows:

class CategoryQuery extends ActiveQuery
{
	public function behaviors() {
		return [
			[
				'class' => ClosureTableQuery::className(),
				'tableName' => 'category_tree'
			],
		];
	}
}

Road map

1. Write documentation
2. Write tests
3. bug fixes
4. EVENT_DELETE
5. DeleteNode method refactoring
6. isAncestor() and isDescendant() methods