0

データの一部が破損していると思われるため、TreeBehavior の回復メソッドを使用しようとしています。これを行おうとすると、次の SQL エラーが発生します。

エラー: SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。1 行目の SQL クエリ: UPDATE の近くで「AND」を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してくださいfracmerl_devcategoriesセットCategoryとしてCategorylft= Category. lft+ 4203 どこCategoryで . lftとの間

明らかに、クエリにはいくつかの値がありません。次の警告も表示されます。

注意 (8): 未定義のオフセット: 0 [CORE/Cake/Model/Behavior/TreeBehavior.php、865 行目]

これは Cake バージョン 2.3 です。

編集:

TreeBehavior の 865 行目は、このコード ブロックの最後の行です。

        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ます。エラーが 861 行目ではなくその行にあると PHP が言っているのは奇妙に思えますが、再確認したところ、間違いなくその行です。

ありがとう

4

1 に答える 1