使用书架页面制作器NodeJS 模块:
- https://www.npmjs.com/package/bookshelf-pagemaker
- https://github.com/bhoriuchi/bookshelf-pagemaker
..我能够获得基本的分页工作,它从表中选择所有行。但我不知道如何向查询添加 WHERE 子句。
问题:
有人可以分享一个使用 bookshelf-pagemaker 的小例子吗
带有搜索条件 - 例如从用户中选择 *,其中 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);
});
}
我在新发布的 0.1.3 版本中添加了对此的支持。现在,您可以向传递给分页函数的 args 对象提供 where 语句。您提供的 sql 语句将添加一个 and 到过滤器 sql 中,这样您仍然可以使用搜索功能
你的 args 对象看起来像
var args = {
params: {
start: offset,
page: pageNum,
length: pageSize
},
model: UserDAO,
where: '(id > 10 AND id < 100)'
};
var resultObj = pagemaker.datatables.paginate(args);
resultObj.then(function (result) {
paginateHandler(result);
});
}
function paginateHandler (result)
{
var numPaginatedRecords = result.recordsFiltered;
var pagesTotal = Math.ceil(numPaginatedRecords / ITEMS_ON_PAGE);
res.render('my_paginated_view', {
data: result.data,
currentPage: <from URL or default 1>,
pagesCount: pagesTotal
});
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)