PHP 框架:thinkphp 的左右值无限分类
本文主要是对 thinkphp 的左右值无限分类进行了详细介绍,供大家参考下
以前一直使用父子无限分类,这种分类结构清晰,使用也简单。但若分类数量很大的话,
在查询上性能不佳。比如在做导航菜单中,我要根据某一分类查询出整个分类树的话(祖
辈)。
性能消耗是非常大的,要么做递归,要么做多次查询。故,对于分类的数据量很大的情况,
我推荐使用左右值,以减少查询上的麻烦。
代码如下:
_id
/**
+----------------------------------------------------------
* 构造函数
* @access public
* @return void
+----------------------------------------------------------
*/
public
function
__construct(
$left
,
$right
,
$id
){
parent::__construct();
$this
->_left =
$left
;
$this
->_right =
$right
;
$this
->_id =
$id
;
}
/**
+----------------------------------------------------------
* 根据 node$this->_id 得到该 node 的所有值
* @access public
* @param $nodeId
* @return array
+----------------------------------------------------------
*/
public
function
getNodeById(
$nodeId
)
{
if
(
$nodeId
>0)
{
return
$this
->getById(
$nodeId
);
}