From 9e804c27b152615109c46167018d9e10c6002e9a Mon Sep 17 00:00:00 2001 From: Jan Scheurer Date: Fri, 27 Jun 2014 17:37:03 +0200 Subject: [PATCH] Fix bug in hasMany.set when models have custom primary keys --- lib/associations/has-many-double-linked.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/associations/has-many-double-linked.js b/lib/associations/has-many-double-linked.js index 45cf4a69a1d9..573769698529 100644 --- a/lib/associations/has-many-double-linked.js +++ b/lib/associations/has-many-double-linked.js @@ -87,13 +87,13 @@ module.exports = (function() { unassociatedObjects = newAssociations.filter(function(obj) { return !Utils._.find(oldAssociations, function(old) { - return (!!obj[foreignIdentifier] && !!old[foreignIdentifier] ? obj[foreignIdentifier] === old[foreignIdentifier] : obj.id === old.id); + return (!!obj[foreignIdentifier] ? obj[foreignIdentifier] === old[foreignIdentifier] : (!!obj[targetKeys[0]] ? obj[targetKeys[0]] === old[targetKeys[0]] : obj.id === old.id)); }); }); oldAssociations.forEach(function(old) { var newObj = Utils._.find(newAssociations, function(obj) { - return (!!obj[foreignIdentifier] && !!old[foreignIdentifier] ? obj[foreignIdentifier] === old[foreignIdentifier] : obj.id === old.id); + return (!!obj[foreignIdentifier] ? obj[foreignIdentifier] === old[foreignIdentifier] : (!!obj[targetKeys[0]] ? obj[targetKeys[0]] === old[targetKeys[0]] : obj.id === old.id)); }); if (!newObj) {