【发布时间】:2015-11-25 16:29:55
【问题描述】:
我开始使用 Node.JS、bookshelf.js 和 bookshelf-pagemaker。
我的数据库包含 2 个表: - 具有 3 个主要行的资产(idasset、名称、idarrangement) - Arrangement_details 有 2 个主行(idarrangement_details,材料)
例如,我想获取 material = 2 的所有资产。
资产模型:
var AssetsCollection = DB.Model.extend({ 表名:'资产', idAttribute: 'idassets', 安排细节:函数(){ return this.belongsTo(ArrangementDetail, 'idarrangement_details'); } });我试过这段代码,但它崩溃了,因为没有加入安排细节。
var pm = require('bookshelf-pagemaker')(DB); 下午(资产集合。资产集合) 。锻造() .limit(req.params.limit) .offset(req.params.page) .查询(函数(qb){ qb.where('Arrangement_details.material', '=', 4) }) .paginate({request: req, withRelated: ['arrangementdetails']) 。结尾({}) .then(函数(结果){ 回调(空,{code:200,res:结果}); });有可能吗?
问候, 达尔口
【问题讨论】:
-
就像你说的那样,你需要在查询回调中为排列细节表添加一个连接。您还需要在 where 方法中按名称而不是模型来引用表
-
嗨@vbranden 感谢您的回复。你能解释一下怎么做吗?
标签: node.js bookshelf.js knex.js bookshelf-pagemaker