BookshelfJS belongsToMany 不 return 重复
BookshelfJS belongsToMany doesn't return duplicates
我有两个 table 具有关系 belongsToMany
。主元 table 还包含一个名为 state
的列,它可以有 3 个不同的值。假设我的 table 是 Table1
和 Table2
。
同一个 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());
});
我有两个 table 具有关系 belongsToMany
。主元 table 还包含一个名为 state
的列,它可以有 3 个不同的值。假设我的 table 是 Table1
和 Table2
。
同一个 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());
});