dev-master
9999999-dev http://www.kittencup.comKpTree是一个基于Zend Framweork 2的模块,实现MYSQL树的几个TableGateway
BSD-3-Clause
The Requires
- php >=5.3.23
zf2 mysql zend framework 2 tree kittencup
Wallogit.com
2017 © Pedro Peláez
KpTree是一个基于Zend Framweork 2的模块,实现MYSQL树的几个TableGateway
KpTree是一个基于Zend Framweork 2模块,实现MYSQL树形的几个TableGateway, (*1)
github下载 或者 composer require "kittencup/kp-tree": "dev-master", (*2)
#application.config.php
return [
'modules' => [
// ...
'KpTree',
],
];
1.嵌套集(NestedTable), (*3)
数据库参考KpTree/data/nested, (*4)
namespace KpTest\Model\TestTable;
use KpTree\Model\NestedTable;
class TestTable extends NestedTable{
// 设置数据库名
protected $table = 'nested';
// 设定左 字段
protected $lColumn = 'l';
// 设定右字段
protected $rColumn = 'r';
// 设定深度字段
protected $depthColumn = 'depth';
}
2.路径枚举(PathEnumTable), (*5)
数据库参考KpTree/data/pathEnum, (*6)
namespace KpTest\Model\TestTable;
use KpTree\Model\PathEnumTable;
class TestTable extends PathEnumTable{
// 数据库名
protected $table = 'pathEnum';
// 设定路径字段
protected $pathColumn = 'path';
// 设定路径分隔符
protected $pathDelimiter = '/';
// 设定深度字段
protected $depthColumn = 'depth';
}
3.闭包表(ClosureTable), (*7)
数据库参考KpTree/data/closure, (*8)
namespace KpTest\Model\TestTable;
use KpTree\Model\ClosureTable;
class TestTable extends ClosureTable{
// 数据库表名
protected $table = 'closure';
// 存储引用关系的表名
protected $pathsTable = 'closurePaths';
// $pathsTable表内 祖先字段名
protected $ancestorColumn = 'ancestor';
// $pathsTable表内 后辈字段名
protected $descendantColumn = 'descendant';
// $table内 深度字段
protected $depthColumn = 'depth';
}
具体可参考 KpTree\Model\TreeTableInterface, (*9)
添加一个节点, (*10)
$table->addNode(['name'=>'kittencup'],4);
移动节点, (*11)
$table->moveNode(2, 3)
根据节点id获取父节点, (*12)
$table->getParentNodeById(12); $table->getParentNodeById(12,2) $table->getParentNodeById(12,2,'ASC') $table->getParentNodeById(12,2,'ASC',['id','name'])
根据节点id获取子节点, (*13)
$table->getChildNodeById(12); $table->getChildNodeById(12,2) $table->getChildNodeById(12,2,'ASC') $table->getChildNodeById(12,2,'ASC',['id','name'])
根据节点id 删除所有子元素, (*14)
$table->deleteChildNodeById(1); $table->deleteChildNodeById(1,false);
根据节点id 删除节点, (*15)
$table->deleteNodeById(1);
KpTree是一个基于Zend Framweork 2的模块,实现MYSQL树的几个TableGateway
BSD-3-Clause
zf2 mysql zend framework 2 tree kittencup