Node.js 如何使用bookshelf pagemaker添加简单Where子句
使用书架pagemakerNodeJS模块:Node.js 如何使用bookshelf pagemaker添加简单Where子句,node.js,bookshelf.js,bookshelf-pagemaker,Node.js,Bookshelf.js,Bookshelf Pagemaker,使用书架pagemakerNodeJS模块: 。。我能够在从表中选择所有行的情况下使用基本分页。但是我没有看到如何在查询中添加WHERE子句 问题: 有人能分享一个使用书架寻呼机的小例子吗 使用搜索条件-例如,从id>10的用户中选择* 我在新发布的版本0.1.3中添加了对此的支持。现在可以向传递给paginate函数的args对象提供where语句。您提供的sql语句将与and一起添加到筛选器sql中,因此您仍然可以使用搜索功能 您的args对象看起来像 var args={ 参数:
我在新发布的版本0.1.3中添加了对此的支持。现在可以向传递给paginate函数的args对象提供where语句。您提供的sql语句将与and一起添加到筛选器sql中,因此您仍然可以使用搜索功能 您的args对象看起来像
var args={
参数:{
开始:偏移,
页码:pageNum,
长度:页面大小
},
型号:UserDAO,
其中:‘(id>10且id<100)’
};代码>当前版本不支持此操作。我将向args对象添加一个“where”参数,以便您可以指定该参数,并在我将其发布到npm时使用更新的版本进行回复。我没有想到这个用例,现在我对bookshelf有了更好的理解,可能需要重新编写模块。您可能还想关注我的dreamcatcher项目,因为我将在那里添加一个分页选项,该模块中的方法允许您执行更多书架/knex类型的函数。此外,args对象的params字段应该是web服务调用中的request parameters对象。我只使用restify测试了代码,所以它应该类似于模块中的req.params。非常感谢您查看我的问题并更新模块以支持WHERE子句。谢谢你这么快就处理好了。我希望您不介意我对您的帖子进行了一些编辑,以包含一些附加代码,用于在进行过滤查询时设置正确数量的页面链接。顺致敬意,
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);
});
}