Поэтому я пытаюсь использовать метод восстановления TreeBehavior, так как думаю, что некоторые из моих данных повреждены. При попытке сделать это я получаю эту ошибку SQL:
Ошибка: SQLSTATE[42000]: Синтаксическая ошибка или нарушение прав доступа: 1064 Ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «И» в строке 1 SQL-запрос: UPDATE fracmerl_dev
.categories
AS Category
SET Category
.lft
= Category
.lft
+ 4203 ГДЕ Category
.lft
МЕЖДУ И
Очевидно, что в запросе отсутствуют некоторые значения. Я также получаю это предупреждение:
Примечание (8): Неопределенное смещение: 0 [CORE/Cake/Model/Behavior/TreeBehavior.php, строка 865]
Это торт версии 2.3.
Редактировать:
Строка 865 в TreeBehavior является последней строкой в этом блоке кода:
list($node) = array_values($Model->find('first', array(
'conditions' => array($scope, $Model->escapeField() => $Model->id),
'fields' => array($Model->primaryKey, $parent, $left, $right),
'recursive' => $recursive
))); //THIS IS LINE 865
Итак, я предполагаю, что возвращаемое значение array_values($Model->find...
не имеет смещения 0
. Кажется странным, что PHP сообщает мне об ошибке в этой строке, а не в строке 861, но я дважды проверил, и это определенно строка.
Спасибо