find('threaded', $params)返回一个嵌套的数组,是合适的,如果你想使用你的模型数据建立的parent_id字段嵌套的结果。下面是几个简单的例子(控制器代码):
结果可以改变出现的顺序是影响的顺序处理。例如,如果'order' => 'name ASC'是通过params找到(“线程”),结果将出现在名字顺序。同样可以使用任何订单,没有内在的要求该方法的结果返回第一个。
public function some_function() {
// ...
$allCategories = $this->Category->find('threaded');
$comments = $this->Comment->find('threaded', array(
'conditions' => array('article_id' => 50)
));
// ...
}
在上面的代码示例中,美元allCategories将包含一个嵌套数组代表全类别结构。调用的结果发现('threaded')将下列形式:
Array
(
[0] => Array
(
[ModelName] => Array
(
[id] => 83
[parent_id] => null
[field1] => value1
[field2] => value2
[field3] => value3
)
[AssociatedModelName] => Array
(
[id] => 1
[field1] => value1
[field2] => value2
[field3] => value3
)
[children] => Array
(
[0] => Array
(
[ModelName] => Array
(
[id] => 42
[parent_id] => 83
[field1] => value1
[field2] => value2
[field3] => value3
)
[AssociatedModelName] => Array
(
[id] => 2
[field1] => value1
[field2] => value2
[field3] => value3
)
[children] => Array
(
)
)
...
)
)
)
结果可以改变出现的顺序是影响的顺序处理。例如,如果'order' => 'name ASC'是通过params找到(“线程”),结果将出现在名字顺序。同样可以使用任何订单,没有内在的要求该方法的结果返回第一个。