这是我的关系链。
applications.applicant_id -> users.id -> skills_users.user_id
skills_users.id <- ratings.rateable_id
我希望获得一个Application
的自定义关系applicant_skills
,最好加入ratings
。所以我希望这样的东西能起作用:
applicant_ratings: function () {
return this.belongsToMany('SkillUser').through('User')
},
但我无法让它发挥作用。我尝试了&#34; key&#34; -parameters的不同组合,但似乎没有一个对我有效。
答案 0 :(得分:0)
问题在于'users'
不是支点,而是'skills_users'
。更像是:
applications.applicant_id -> users.id <- skills_users.user_id
skills_users.id <- ratings.rateable_id
尝试一下:
var Application = bookshelf.Model.extend({
tableName: 'applications',
applicant_ratings: function () {
return this.belongsTo('User', 'applicant_id')
.hasMany('Rating')
.through('SkillUser','rateable_id');
}
});