我有一个非唯一键引用主键的表。当我在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,但没有用。
感谢任何帮助。
答案 0 :(得分:1)
由于您可能经常遇到此问题,因此应确保您的关联和模型都具有唯一的名称。
如果做不到这一点,你可以暂时解除这个麻烦的关联,这会导致它无法加入:
$this->MyModel->unbindModel(array('hasMany' => array('MyModel')));