CakePhp 2树行为的generateTreeList()返回平面列表

时间:2012-10-23 08:53:04

标签: cakephp tree cakephp-2.0

我按照book处的文档来使用树行为。

一切都很好看。 parent_id,lft和rght保存得当但是 我打电话的时候:

$this->Model->generateTreeList()

返回的列表是平的,即:

array(
    (int) 8  => 'p1',
    (int) 11 => 'child of p1',
    (int) 9  => 'p2',
    (int) 2  => 'child of p2',
)

还有什么我需要注意的吗?

1 个答案:

答案 0 :(得分:1)

它按预期工作(根据文档)。 generateTreeList返回其中key为id且diplay field为值的数组。 generateTreeList($conditions=null, $keyPath=null, $valuePath=null, $spacer= '_', $recursive=null) 您可以指定$spacer参数,结果如i.ex:

array(
  1 => 'p1',
  2 => '_p2',
  3 => '_p3',
  4 => '_p4',
  5 => '__p5',
);

该列表是“平坦的”,但有间隔。如果您想要使用分层嵌套数组,则必须使用:$this->Model->find('threaded')