2011-01-11 6 views
0

私は最近ポップアップした問題を経験しており、私たちのシステムにかなりの問題を引き起こしています。movedownメソッドが新しい位置を保存しない - cakephpツリー

私たちが持っているアプリは、コンテンツを整理するmovedownメソッドを使用してに依存しているが、後半のようには動作を停止し、次の警告を生成し始めています

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

変数のデータ型と値の例を教えてください。代入やarray_valuesを呼び出さずに、Model :: find呼び出しでprint_rを実行したときの出力は何ですか? –

答えて

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; 

を簡素化します。

関連する問題