eclou / yii2-closure-table
There is no license information available for the latest version (v1.0.3) of this package.
the closure table behavior for yii2
Package info
github.com/eclou/yii2-closure-table
Type:yii2-extension
pkg:composer/eclou/yii2-closure-table
v1.0.3
2025-08-28 12:53 UTC
Requires
- yiisoft/yii2: *
README
Configure
configure query model:
class ClosureQuery extends ActiveQuery { public function behaviors() { return [ ClosureTableQueryBehavior::class ]; } }
configure active model:
class ClosureTable extends ActiveRecord { public function behaviors() { return [ [ 'class' => ClosureTableBehavior::class, 'closureTable' => ClosureTableTree::class, //closure table defined model 'parentAttribute' => 'parent', 'childAttribute' => 'child', 'depthAttribute' => 'depth' ] ]; } public static function find() { return new ClosureQuery(static::class); } } class ClosureTableTree extends ActiveRecord { public static function tableName() { return 'closure_table_tree'; } public function rules() { return [ [['parent','child','depth'],'integer'] ]; } }
Usage
ClosureTable::findOne(['_id' => 1])->parents()->all() $node1 = new ClosureTable(); $node1->saveAsRoot(); $node2 = new ClosureTable(); $node2->appenTo($node1);