Interests と多対多の関係を持つ User というモデルがあります。
結合テーブルが次のようになっているとします。
User ID | Interest ID
---------------------
5 | 1
このユーザーの名前 (たとえば) を編集して を呼び出すとuser.save
、失敗します。
失敗する理由は、datamapper (AFAIK) が Interests との関係を再保存しようとしているためです。私が得るエラーは次のとおりです。
duplicate key value violates unique constraint "user_interests_pkey"
DETAIL: Key (user_id, interest_id)=(5, 1) already exists.
誰もこれを経験しましたか?誰でも解決策を知っていますか?助けてくれてありがとう。
アップデート
User モデルは次のようになります。
class User
include DataMapper::Resource
has n, :interests, :through => Resource, :constraint => :skip
end
Interest モデルは次のようになります。
class Interest
include DataMapper::Resource
has n, :users, :through => Resource, :constraint => :skip
end