2011-06-06 8 views
0

私は一意キーを参照している一意キーがないテーブルを持っています。 where句で同じnon-uniqueカラムを使用してレコードを削除すると、cakephpは同じテーブルをSQLエラーの原因となる別名で結合します。cakephpが自己参照テーブルから削除中にエラーをスローします

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

次のように私は、MySQLのエラーを取得:

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

私は(私は自分のSQLクエリでそれを回避することができます)CakePHPのORMとそれを修正するのに長い時間を試してみました。私もthis solutionを試しましたが、それは役に立ちません。

何か助けていただければ幸いです。

答えて

1

この問題が頻繁に発生するため、関連付けやモデルにはすべて固有の名前が付いていることを確認する必要があります。

あなたが参加してはならないことを起こすべきか、一時的に厄介な関連付けをアンバインドすることができ、それに失敗:返信用

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

おかげで、しかし、Tiは動作しませんでした。私はちょうどモデルからそれらの関連付けを削除しました、今それは動作します。 – pMan