2012-09-15 64 views
0

我有表CakePHP 1.3多種樹和moveupmovedown我設置CakePHP的多個範圍

$this->Category->Behaviors->attach('Tree', array(
     'scope' => array(
      'Category.parent_id' => $node['Category']['parent_id'], 
     ), 
    )); 

而且記錄也被type歸類,所以我還需要

  'Category.type' => $node['Category']['type'], 

和像這並沒有什麼區別。

這是我的數據樣本:

id | parent_id | lft | rght | Title | type 
1 | null  | 1 | 4 | Cat1 | categoory 
2 | null  | 5 | 20 | Cat2 | categoory 
3 | 2   | 6 | 13 |Cat2.1 | categoory 
4 | 2   | 14 | 15 |Cat2.2 | categoory 
5 | 2   | 16 | 17 | img1 | image 
6 | 1   | 2 | 3 | img1 | image 
7 | 2   | 18 | 19 | img2 | image 
8 | 3   | 7 | 8 | Post1 | post 
9 | 3   | 9 | 10 | Post2 | post 
10 | 3   | 11 | 12 |Cat2.1.1| categoory 
+0

什麼是生成的sql查詢 – Dave

回答

1

你應該在「類型」字段不是「PARENT_ID」字段來確定範圍。每次需要設置範圍取決於您要使用的子樹。

$this->{$this->nodeType}->Behaviors->attach('Tree', array(
    'scope' => array(
     'Category.type' => $this->nodeType, 
    ), 
)); 
+0

謝謝。一直在尋找更復雜的解決方案。我的錯 –