0

我按照书中的文档来使用树行为。

一切看起来都很好。parent_id、lft 和 rght 已正确保存,但当我调用时:

$this->Model->generateTreeList()

返回的列表是平坦的,即:

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

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

4

1 回答 1

1

它按预期工作(根据文档)。generateTreeList 返回数组,其中键是 id,显示字段是值。 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')

于 2012-10-23T11:51:35.763 回答