BookshelfJS belongsToMany 不 return 重复

BookshelfJS belongsToMany doesn't return duplicates

我有两个 table 具有关系 belongsToMany。主元 table 还包含一个名为 state 的列,它可以有 3 个不同的值。假设我的 table 是 Table1Table2

同一个 Table1-Table2 关系可以有多个条目,但 states.

我想获取 Table1 的所有数据透视条目,包括相同 Table2 的任何多个条目。

不幸的是,代码

return this.belongsToMany(Table2, 'pivot_table1_table2').withPivot(['state'])

只有 returns 每个 Table2 的第一个条目。

感谢您的帮助。

书架就是这样工作的!这是功能的一部分:删除欺骗。我找到了解决方法;明确地 select 来自联结 table 的唯一属性。如果您没有,请为路口创建一个模型 table。遗憾的是,那是当时唯一的解决方案。

更新:

也许是这样的。 routes.code 在我的案例中是独一无二的,它是连接点 table 的一部分。如果这不能解决问题,请为联结点创建一个模型 table 并设置好(这可能更受欢迎)。

new Station().where({
    id: req.params.id
}).fetch({
    withRelated: [{
        'routes': function(qb) {
            qb.select('routes.id', 'routes.code');
        }
    }]
}).then(function(result) {
    res.json(result.toJSON());
});