moveown方法没有保存新位置 - cakephp树

时间:2011-01-11 17:41:59

标签: php cakephp tree

我遇到了最近出现的问题,这对我们的系统造成了相当大的麻烦。

我们依赖于使用moveown方法组织内容的应用程序,但最近它已停止工作并开始生成以下警告:

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));

我已经筋疲力尽了我想出的每一个想法。还有其他人在此之前遇到过这个问题吗?

任何帮助,或指向一个方向将非常感谢!

1 个答案:

答案 0 :(得分: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;

现在您可以看到哪个变量作为未定义传递。