我有两个表:patches
和devices
。这里的关系是many-to-many
,因此我有一个pivot_device_patch
的数据透视表。
数据透视表还有一列status
,可以是available
,failed
,success
。 patch
可以有多个相同的device
可用(即第一个失败,因此您创建另一个请求,直到成功为止)。
我想获取数据透视表的所有实例,因此我知道已将多少实例推送到设备。到目前为止,我的查询是:
new Device({guid : req.params.boxGuid})
.fetch({withRelated: ['patches', {
'patches' : function (qb) {
qb.where('guid', '=', req.params.patchGuid);
}
}]
}).then(function (device) {
res.json(device);
})
但这会返回数据透视表中的第一个条目。我如何归还所有这些?
答案 0 :(得分:0)
尝试在where语句之前添加qb.select('status');
。
我有类似的问题。