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 に答える