【发布时间】:2015-07-13 02:27:37
【问题描述】:
使用 bookshelf-pagemaker NodeJS 模块:
.. 我能够在从表中选择所有行的地方进行基本的分页工作。但我没有看到如何在查询中添加 WHERE 子句。
问题:
谁能分享一个使用 bookshelf-pagemaker 的小例子 带有搜索条件 - 例如SELECT * FROM user WHERE id > 10 ?
var Bookshelf = require('bookshelf').mysqlAuth;
var pagemaker = require('bookshelf-pagemaker')(Bookshelf);
var UserDAO = Bookshelf.Model.extend({
tableName: 'user'
});
function getRegisteredUsers(pageNum, pageSize, offset, callback) {
var args = {
params: {
start: offset,
page: pageNum,
length: pageSize
},
model: UserDAO
};
var resultObj = pagemaker.datatables.paginate(args);
resultObj.then(function (result) {
console.log('Enter: paginate(args)');
callback(result);
});
}
【问题讨论】:
-
当前版本不支持。我将向 args 对象添加一个“where”参数,以便您可以指定它并在我将其发布到 npm 时回复更新版本。我没有想到这个用例,现在我对书架有了更好的理解,可能需要重新设计模块。您可能还想关注我的 Dreamcatcher 项目,因为我将在那里添加一个分页选项,并且该模块中的方法允许您执行更多书架/knex 类型的功能。
-
另外,args 对象的 params 字段应该是来自您的 Web 服务调用的请求参数对象。我只用restify测试了代码,所以它应该是那个模块中的req.params
标签: node.js bookshelf.js bookshelf-pagemaker