add clearOrder method fix #2360 (#2553)

This commit is contained in:
Julien Bouquillon 2018-04-02 16:28:01 +02:00 committed by Mikael Lepistö
parent fbef9fcec7
commit 0a1976d8fd
3 changed files with 40 additions and 0 deletions

View File

@ -814,6 +814,12 @@ assign(Builder.prototype, {
return this;
},
// Remove everything from select clause
clearOrder(){
this._clearGrouping('order');
return this;
},
// Insert & Update
// ------

View File

@ -77,6 +77,7 @@ export default [
'pluck',
'clearSelect',
'clearWhere',
'clearOrder',
'insert',
'update',
'returning',

View File

@ -413,6 +413,39 @@ describe("QueryBuilder", function() {
});
});
it("clear an order", function() {
testsql(qb().table('users').orderBy('name', 'desc').clearOrder(), {
mysql: {
sql: 'select * from `users`'
},
mssql: {
sql: 'select * from [users]'
},
postgres: {
sql: 'select * from "users"'
},
redshift: {
sql: 'select * from "users"'
},
});
testsql(qb().table('users').orderBy('name', 'desc').clearOrder().orderBy('id', 'asc'), {
mysql: {
sql: 'select * from `users` order by `id` asc'
},
mssql: {
sql: 'select * from [users] order by [id] asc'
},
postgres: {
sql: 'select * from "users" order by "id" asc'
},
redshift: {
sql: 'select * from "users" order by "id" asc'
},
});
});
it("basic wheres", function() {
testsql(qb().select('*').from('users').where('id', '=', 1), {
mysql: {