gpt4 book ai didi

node.js - 如何使用 bookshelf-pagemaker 添加简单的Where子句

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:43 25 4
gpt4 key购买 nike

使用bookshelf-pagemaker NodeJS 模块:

..我能够进行基本的分页工作,它从表中选择所有行。但我不知道如何向查询添加 WHERE 子句。

QUESTION:

Can someone please share a small example of using bookshelf-pagemaker with search criteria - e.g. 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);
});
}

最佳答案

我在新发布的 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
});
};

关于node.js - 如何使用 bookshelf-pagemaker 添加简单的Where子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31374653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com