Skip to content

Commit 14160dc

Browse files
Terry Drevervengrov
authored andcommitted
WhereQuery LoadRelations with QueryBuilder. (#100)
1 parent a121893 commit 14160dc

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

src/backendless.js

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1296,18 +1296,36 @@
12961296
_loadRelations: function(parentObjectId, queryBuilder, async) {
12971297
this._validateLoadRelationsArguments(parentObjectId, queryBuilder);
12981298

1299+
var whereClause,
1300+
options,
1301+
query = [];
1302+
12991303
var dataQuery = queryBuilder.build();
1304+
1305+
if (dataQuery.condition) {
1306+
whereClause = 'where=' + encodeURIComponent(dataQuery.condition);
1307+
}
1308+
1309+
if (dataQuery.options) {
1310+
options = this._extractQueryOptions(dataQuery.options);
1311+
}
1312+
1313+
options && query.push(options);
1314+
whereClause && query.push(whereClause);
1315+
query = query.join('&');
1316+
13001317
var relationModel = dataQuery.relationModel || null;
13011318
var responder = Utils.extractResponder(arguments);
13021319
var relationName = dataQuery.options.relationName;
1303-
var query = this._extractQueryOptions(dataQuery.options);
13041320
var url = this.restUrl + Utils.toUri(parentObjectId, relationName);
13051321

13061322
responder = responder && Utils.wrapAsync(responder, function(response) {
13071323
return this._parseFindResponse(response, relationModel);
13081324
}, this);
13091325

1310-
url += query ? '?' + query : '';
1326+
if (query) {
1327+
url += '?' + query;
1328+
}
13111329

13121330
var result = Backendless._ajax({
13131331
method : 'GET',
@@ -5485,6 +5503,11 @@
54855503
return this;
54865504
},
54875505

5506+
setWhereClause: function(whereClause) {
5507+
this._query.condition = whereClause;
5508+
return this;
5509+
},
5510+
54885511
build: function() {
54895512
this._query.setOptions(this._paging.build());
54905513

0 commit comments

Comments
 (0)