Javascript 书架FJS BelongTomany不返回副本
我有两张桌子,它们的关系属于我。pivot表还包含一个名为state的列,该列可能有3个不同的值。假设我的桌子是表1和表2 对于具有不同状态的同一Table1-Table2关系,可以有多个条目 我想获得表1的所有透视条目,包括同一个表2的任何多个条目 不幸的是,代码Javascript 书架FJS BelongTomany不返回副本,javascript,backbone.js,bookshelf.js,Javascript,Backbone.js,Bookshelf.js,我有两张桌子,它们的关系属于我。pivot表还包含一个名为state的列,该列可能有3个不同的值。假设我的桌子是表1和表2 对于具有不同状态的同一Table1-Table2关系,可以有多个条目 我想获得表1的所有透视条目,包括同一个表2的任何多个条目 不幸的是,代码 return this.belongsToMany(Table2, 'pivot_table1_table2').withPivot(['state']) 仅返回每个表2的第一个条目 谢谢你的帮助 书架就是这样工作的!这是功能的一
return this.belongsToMany(Table2, 'pivot_table1_table2').withPivot(['state'])
仅返回每个表2的第一个条目
谢谢你的帮助 书架就是这样工作的!这是功能的一部分:删除重复。我找到了一个解决办法;从连接表中显式选择唯一的属性。如果没有,请为连接表创建模型。不幸的是,这是唯一的解决办法 更新: 也许是这样的。routes.code在我的情况下是唯一的,它是连接表的一部分。如果这样做不起作用,请为连接表创建一个模型,然后您将其设置为更可取的方式
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());
});
我有一个creation_date列,它完全是独一无二的,所以我可以使用它。但是我该怎么做呢?您能提供一个示例代码吗?快速问题:在上面的语句中,您是routes表的withRealted is中的查询。所以你实际上指的是另一条路线。实际上,我有相同的条目需要显示在透视表中。所以我不明白这对我有什么帮助。我需要在pivot表上做些什么,而不是routes表。这里也是一样,我不明白为什么它是默认值而不是选择加入。。。