如何實現bookshelfJs多的OrderBy()列bookshelfjs
我可以添加儘可能多的排序依據來模擬多個排序依據,但API可以有任何的排序選項 像example.com/users?sort=-name,status
,它不需要被硬編碼。
下面的答案似乎是合法的要求
Knex.js multiple orderBy() columns
但如何實現在書架多個排序依據?
型號/ 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);
});
};
鍛造(...)。查詢(...)。修改爲不是功能 – atjoshi
@atjoshi ...你有解決方案....? – Hemakumar
是的..只需要追加knex查詢作爲函數,併爲我們想要排序的whetever字段循環...查詢(函數(qb){var i in sortArray){ qb.orderBy(sortArray [i] .field,sortArray [i] .direction); } })' – atjoshi