gpt4 book ai didi

javascript - Sails.js 中的多个关联

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:35 25 4
gpt4 key购买 nike

我目前正在研究 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'
}
};

现在,一旦我转到 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'
}
};

这样,蓝图 /post/1 将包含所有关联的 标签。查看association docs了解更多信息 - 损坏的链接已修复。

dominant:true 标签让 Sails 知道将连接表放在关联的哪一侧,以防两个模型位于不同的数据库中。当两个模型在同一个数据库中时,我们正在努力使它成为可选的,但现在必须明确指定。

关于javascript - Sails.js 中的多个关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22639446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com