如何实现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