使用model.fetchPage时获取未调用的事件?

时间:2016-07-02 17:49:08

标签: bookshelf.js knex.js

我正在使用快递,knex和书架

我有一个带有一些属性的模型,让我们说:

User { 
    username(string),
    clazz(string),
    createdBy(string)(logged-in user),
    createDate(datetime) }

我想获取有关已登录用户(createBy,已创建记录)以及分页的用户集合。

我尝试使用以下代码实现相同的功能:

var request = extend({ sort : 'id', order: 'asc', pageSize: 10, page: 1}, setProperties(req.query));

User.forge().orderBy(request.sort, request.order).fetchPage({
    pageSize: request.pageSize,
    page: request.page

}).then(function(results) {
    res.json({
        users: results,
        totalCount: results.pagination.rowCount
    });
});

// tried to initialize fetching event.
var User = bookshelf.Model.extend({
    tableName: 'users',
    initialize: function() {
        this.on('fetching', function(model, cols, options) {
            // will put extra constraint to fetch only the records created by logged-in user.
        });
    });

但是'抓取'事件未被触发,但数据在响应时可用。

如果您可以帮助我,我会非常感激,或者建议我采取相应措施来解决这个问题。

1 个答案:

答案 0 :(得分:0)

我的错误!

fetchPage调用fetchAll,它发出事件'fetching:collection'而不是'fetching'。