Joh*_*mar 4 javascript associations node.js sails.js
我目前正在玩Sails.js beta中的协会(v 0.10.0-rc4).
我正在尝试将多个数据库关联到一个结果中(使用sails-mysql
).
该关联看起来像这样Post
- > TagRelation
- > Tag
.而当我查询Post
表时,我希望返回的对象包含相关的Tag
名称.
模型看起来像这样:
// Post model
var Post = {
title: 'string',
body: 'string',
tag_relations: {
collection: 'TagRelation'
via: 'post_id'
}
};
// Tag Relation model
var TagRelation = {
post_id: {
model: 'Post'
},
tag_id: {
model: 'Tag'
}
};
// Tag model
var Tag = {
name: 'string',
tag_relations: {
collection: 'Tag',
via: 'tag_id'
}
};
Run Code Online (Sandbox Code Playgroud)
现在,一旦我去了,http://localhost:1337/post/1
我将获得一个带有tag_relations
键的JSON对象,其中包含一个TagRelation
对象数组,但有没有办法获取Tag
他们所指的实际对象列表呢?或者有更好的方法吗?
Sails为您处理连接表,因此您根本不需要该TagRelation
模型:
// Post model
var Post = {
title: 'string',
body: 'string',
tags: {
collection: 'tag',
via: 'posts',
dominant: true // could be on either model, doesn't matter
}
};
// Tag model
var Tag = {
name: 'string',
posts: {
collection: 'post',
via: 'tags'
}
};
Run Code Online (Sandbox Code Playgroud)
这样蓝图/post/1
将包含其相关的所有内容tags
.有关详细信息,请参阅关联文档 - 已修复已损坏的链接.
该dominant:true
标签可以让帆知道放哪一个协会侧的连接表,在情况下,两个模型在不同的数据库.当两个模型位于同一个数据库中时,我们正在努力使其成为可选项,但是现在必须明确指定它.
归档时间: |
|
查看次数: |
4323 次 |
最近记录: |