CakePHP выдает ошибку при удалении из таблицы, ссылающейся на себя - PullRequest
0 голосов
/ 06 июня 2011

У меня есть таблица с неуникальным ключом, ссылающимся на первичный ключ. Когда я удаляю записи, используя тот же неуникальный столбец в предложении where, cakephp объединяет ту же таблицу с тем же псевдонимом, что и ошибка SQL.

$this->MyModel->deleteAll(array('non_uniq_id'=>array_keys($data)));

Я получаю ошибку MySQL следующим образом:

SQL Error: 1066: Not unique table/alias:...

Я долго пытался исправить это с помощью ORM для CakePHP (я могу избежать этого с помощью своих собственных SQL-запросов). Я также пробовал это решение , но это не помогает.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 06 июня 2011

Поскольку вы, вероятно, будете часто сталкиваться с этой проблемой, вы должны убедиться, что все ваши ассоциации и модели имеют уникальные имена.

Если это не так, вы можете временно отменить связывание проблем, что должно привести к тому, что оно не будетприсоединился:

$this->MyModel->unbindModel(array('hasMany' => array('MyModel')));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...