cakephp从自引用表中删除时抛出错误

时间:2011-06-06 13:05:35

标签: mysql cakephp

我有一个非唯一键引用主键的表。当我在where子句中使用相同的非唯一列删除记录时,cakephp使用导致SQL错误的相同别名连接同一个表。

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

我得到MySQL错误如下:

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

我花了很长时间用cakephp的ORM修复它(我可以用我自己的SQL查询来避免它)。我也试过了this solution,但没有用。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

由于您可能经常遇到此问题,因此应确保您的关联和模型都具有唯一的名称。

如果做不到这一点,你可以暂时解除这个麻烦的关联,这会导致它无法加入:

$this->MyModel->unbindModel(array('hasMany' => array('MyModel')));