Fix issue with a where object with more than one member
This commit is contained in:
parent
439630cdda
commit
e4c62ef3e7
@ -187,7 +187,7 @@ var QueryBuilder = function(driver, adapter) {
|
||||
_p.mixedSet('whereMap', 'both', args.key, args.val);
|
||||
_p.mixedSet('whereValues', 'value', args.key, args.val);
|
||||
},
|
||||
where: function(key, val, conj) {
|
||||
where: function(key, val, defaultConj) {
|
||||
// Normalize key and value and insert into state.whereMap
|
||||
_p.whereMixedSet(key, val);
|
||||
|
||||
@ -205,7 +205,8 @@ var QueryBuilder = function(driver, adapter) {
|
||||
lastItem = state.queryMap[state.queryMap.length - 1];
|
||||
|
||||
// Determine the correct conjunction
|
||||
if (state.queryMap.length < 1 || firstItem.conjunction.contains('JOIN'))
|
||||
var conj = defaultConj;
|
||||
if (state.queryMap.length === 0 || firstItem.conjunction.contains('JOIN'))
|
||||
{
|
||||
conj = " WHERE ";
|
||||
}
|
||||
@ -280,6 +281,7 @@ var QueryBuilder = function(driver, adapter) {
|
||||
vals = state.values.concat(state.whereValues);
|
||||
}
|
||||
|
||||
//console.log(state.queryMap);
|
||||
//console.log(sql);
|
||||
//console.log(vals);
|
||||
//console.log('------------------------');
|
||||
@ -781,7 +783,7 @@ var QueryBuilder = function(driver, adapter) {
|
||||
* @param {String} table - The table to insert into
|
||||
* @param {Array} data - The array of objects containing data rows to insert
|
||||
* @param {Function} callback - Callback for handling database response
|
||||
* @example query.insertBatch('foo',[{id:1,val:'bar'},{id:2,val:'baz'}], callbackFunction);S
|
||||
* @example query.insertBatch('foo',[{id:1,val:'bar'},{id:2,val:'baz'}], callbackFunction);
|
||||
* @return void
|
||||
*/
|
||||
this.insertBatch = function(/* table, data, callback */) {
|
||||
|
@ -377,6 +377,13 @@ module.exports = (function QueryBuilderTestBase() {
|
||||
test.expect(1);
|
||||
base.qb.where('id', 5)
|
||||
.delete('create_test', base.testCallback.bind(this, test));
|
||||
},
|
||||
'Delete multiple where values': function(test) {
|
||||
test.expect(1);
|
||||
base.qb.delete('create_test', {
|
||||
id: 5,
|
||||
key: 'gogle'
|
||||
}, base.testCallback.bind(this, test));
|
||||
}
|
||||
},
|
||||
// ! Get compiled tests
|
||||
|
Loading…
Reference in New Issue
Block a user