我对 Sails.js 非常陌生,我正在尝试理解它的魔力。
我有三个使用关联的嵌套模型:Series.js -> Season.js -> 和 Episode.js。
Series.js
module.exports = {
attributes: {
/* other attributes */
seasons: {
collection: 'season',
via: 'series'
}
}
};
Season.js
module.exports = {
attributes: {
/* other attributes */
episodes: {
collection: 'episode',
via: 'season'
},
series: {
model: 'series'
}
}
};
Episode.js
module.exports = {
attributes: {
/* other attributes */
season: {
model: 'season'
}
}
};
开箱即用,我可以使用以下路线获取系列的季节:
/series/:id/seasons
还有使用该路线的一季剧集:
/seasons/:id/episodes
我不明白的是为什么我无法使用此路线获取系列剧的一季剧集:
series/:id/seasons/:id/episodes
知道为什么会发生这种情况吗?我知道我可以使用自定义路由来获得我想要的行为,但如果能够在没有任何进一步配置的情况下做到这一点那就太好了。
我知道 Sails.js 只允许一级填充,但这似乎不是问题,因为我设置了 populate: false
。
最佳答案
Sails 不会自动提供此路线:
series/:id/seasons/:id/episodes
因为如果你仔细想想,这确实没有意义。如果您已经知道该季的 ID,那么它所属的系列就无关紧要了。只需使用:
seasons/:id/episodes
获取您想要的剧集。
关于javascript - Sails.js 使用路由过滤记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25088514/