7
在CakePHP中,如何選擇一棵樹中的子樹?actsAs
樹?在CakePHP樹中查找子樹
我想這一點,找到由項目爲首的樹label = "My Label"
$this->find("threaded", array(
"conditions" => array(
"label" => "My Label"
)
));
...但看日誌,它運行這個SQL:
SELECT Menu.id, Menu.parent_id, Menu.lft, Menu.rght, Menu.label, Menu.link
FROM menus Menu
WHERE label = 'My Label'
這顯然只能選擇一個節點,而不是所有的孩子。
是的我最終做了非常完全相同的事情 - 似乎有趣的是沒有在組件中包含此功能。 – nickf 2009-10-21 04:57:23
我同意,似乎是一個明顯的用例。有' - > children()'但沒有' - > childrenThreaded()'。圍繞模型類我認爲你可以做'$ model - > _ findThreaded('after',null,$ model-> children($ id))''如果你要通過id去,但它看起來有點不好意思。 :o) – deceze 2009-10-21 08:28:33
感謝您的回答,我也希望有一種比這更簡潔的方式。順便說一句,如果你只想要孩子,你應該使用''conditions'=> array('Category.lft>'=> $ parent ['Category'] ['lft'],'Category.rght <' => $ parent [ 'Category'] ['rght'])'不能再次獲取父項。 – bfncs 2012-10-02 07:09:24