From 175ad3141d2a56df906e73c0de1b886f934bad35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Drouyer?= Date: Sun, 16 Dec 2012 18:20:39 +0100 Subject: [PATCH] small fix on relations --- lib/abstract-class.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/abstract-class.js b/lib/abstract-class.js index 5d4a36a4..0d236606 100644 --- a/lib/abstract-class.js +++ b/lib/abstract-class.js @@ -402,9 +402,7 @@ AbstractClass.include = function (objects, include, callback, preprocessDataCall return; } - console.log('******************* OLD INCLUDE', include); include = processIncludeJoin(include); - console.log('******************* NEW INCLUDE', include); var keyVals = {}; var objsByKeys = {}; @@ -460,11 +458,10 @@ AbstractClass.include = function (objects, include, callback, preprocessDataCall var relation = relations[relationName]; var req = {'where': {}}; - var keysToBeProcessed = {}; + if (!keyVals[relation.keyFrom]) { objsByKeys[relation.keyFrom] = {}; for (var j = 0; j < objs.length; j++) { - keysToBeProcessed[objs[j][relation.keyFrom]] = true; if (!objsByKeys[relation.keyFrom][objs[j][relation.keyFrom]]) { objsByKeys[relation.keyFrom][objs[j][relation.keyFrom]] = []; } @@ -475,8 +472,10 @@ AbstractClass.include = function (objects, include, callback, preprocessDataCall if (keyVals[relation.keyFrom].length > 0) { // deep clone is necessary since inq seems to change the processed array + var keysToBeProcessed = {}; var inValues = []; for (var j = 0; j < keyVals[relation.keyFrom].length; j++) { + keysToBeProcessed[keyVals[relation.keyFrom][j]] = true; if (keyVals[relation.keyFrom][j] !== 'null') { inValues.push(keyVals[relation.keyFrom][j]); }