2015-01-01 38 views
1

我正在嘗試使用樹行爲填充類別表中的選擇框。僅在CakePHP中生成樹列表至某一級別

$類別= $這 - >類別 - > generateTreeList(NULL,NULL,NULL, '     ');

這裏列出了所有的類別。由於樹高達5層,選擇框會大量填充。

有沒有辦法限制要生成的級別數量,以便我不需要顯示所有樹數據?我想只顯示到第三級。

我正在使用CakePHP 2.3.5。

回答

1
$this->Category->generateTreeList(null, null, null,' ', 3); 

按照文檔的generateTreeList()存在的深層次一個FITH參數。

generateTreeList($條件= NULL,$的keyPath = NULL,$ valuePath = NULL,$間隔= '_',$遞歸= NULL)

參數:
  $條件 - 使用相同條件選項爲find()。
  $ keyPath - 用於密鑰的字段的路徑。
  $ valuePath - 用於標籤的字段的路徑。
  $ spacer - 每個項目前面使用的字符串以指示深度。
  $遞歸 - 級別數深獲取相關記錄

+0

遞歸參數不過濾級別。它只是填充要顯示的信息的深度,而不是實際的樹深度。 –

0

您可以使用this行爲,將其存儲在創建時/更新每個節點的深度/水平。然後,當使用generateTreeList()獲取記錄時,您可以在條件中指定深度。