How to implement multiple orderBy in bookshelfJs
I can add as many orderBy to model but in API there can be any sort options
like example.com/users?sort=-name,status
and it need not to be hard coded.
The below answer seems legit for the requirement
Knex.js multiple orderBy() columns
but How to implement multiple orderBy in Bookshelf?
models/Users.js
var Bookshelf = require('../../dbConfig').bookshelf;
var User = Bookshelf.Model.extend({
tableName: 'user_table'
});
var Users = Bookshelf.Collection.extend({
model: User
});
module.exports = {
User: User,
Users: Users
};
services.js
var Model = require('./../models/Users');
var express = require('express');
var listAllContentProviders = function (query_params, callback) {
Model.Users
.forge()
.orderBy("name")
.orderBy("-status")
.fetch()
.then(function (collection) {
return callback(null, collection);
})
.catch(function (err) {
return callback(err, null);
});
};