kshatrov/yii2-closure-table-behavior

本扩展允许您获取闭包表树的功能。

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

This package is not auto-updated.

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


README

这是 yii-closure-table-behavior 的 Yii2 版本,通过闭包表方法管理存储在数据库中的树结构。

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一

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

或者

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

将以下内容添加到您的 composer.json 文件的 require 部分中。

配置

首先,您需要按以下方式配置模型

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());
	}
}

然后,您需要按以下方式配置查询模型

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

路线图

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