2011-01-11 18 views
0

我遇到了一個問題,最近彈出並導致我們的系統相當多的麻煩。移動方法不保存新的位置 - cakephp樹

我們的應用程序依賴於使用下移的方法來組織內容,但由於後期已經停止工作,並開始生成以下警告:

Warning (2): array_values() [<a href='function.array-values'>function.array-values</a>]: The argument should be an array in [/usr/local/home/cake/cake_0_2_9/cake/libs/model/behaviors/tree.php, line 459] 

行被引用:

list($node) = array_values($Model->find('first', array(
    'conditions' => array($scope, $Model->escapeField() => $id), 
    'fields' => array($Model->primaryKey, $left, $right, $parent), 'recursive' => $recursive 
))); 

線調用方法:

$this->movedown($id,abs((int)$position)); 

我已經用盡了所有的想法,我可以拿出來。其他人之前是否有過這個問題?

任何幫助,或指向一個方向將不勝感激!

+0

變量的數據類型和示例值是什麼?當您對Model :: find調用進行print_r時沒有賦值或array_values調用時的輸出是什麼? – 2011-01-11 19:24:15

回答

1

簡化您的問題

Configure::write('debug', 1); // <- turn on debug mode (if not set earlier) 

$fields = array($Model->primaryKey, $left, $right, $parent), 'recursive' => $recursive)); 
$conditions = array($scope, $Model->escapeField() => $id); 
$results = $Model->find('first', array(
    'conditions' => $conditions, 
    'fields' => $fields) 
); 
$values = array_values($results); 
list($node) = $values; 

echo '<pre>'; 
debug($fields); 
debug($conditions); 
debug($results); 
debug($values); 
debug($node); 
exit; 

現在你可以看到哪些變量爲未定義傳遞。