首页 > 解决方案 > Bookshelf.js 获取具有相关(连接)表的行 - 限制相关行的数量

问题描述

我正在尝试在 Bookshelf.js 中实现分页,并且不仅限制模型的数量(我的代码中的Author),还限制每个模型中的项目数量(我的代码中的books)。

这是代码:

Author.where('postedBy', userId).fetchPage({
    pageSize: 10,
    page: 1,
    withRelated: [
        { 'books': function(qb) { qb.limit(10) } }
    ]
})

所以,我期望的是:

{ author_1: [ book_1, ..., book_10 ], ..., author_10: [ book_1, ..., book_10 ] }

但相反,我得到:

{ author_1: [ book_1, ..., book_7 ], author_2: [ book_1, ..., book_3 ], author_N: [/*8 other collections are empty*/] }

所以它只是将作者总数限制为 10,并将查询中的项目总数限制为 10。相反,我希望每个作者的收藏中有 10 个作者和最多 10 本书。

有没有办法通过 Bookshelf.js 和 Knex.js 实现这一目标?

标签: javascriptknex.jsbookshelf.js

解决方案


推荐阅读