loopback 3中的标签关系
Tags relationship in loopback 3
在 Loopback 中如何创建标签?
例如有项目
{
id,
name
}
还有类似型号的标签合集
现在项目需要有多个标签,同一个标签可以在多个项目中使用
例如,在创建项目时,用户可能会键入已经存在的标签或新标签,这些标签应该添加到项目中。
我在环回框架中找不到我需要的确切关系。你是怎么做到的?
TLDR
CREATE TABLE ProjectTag (id AUTO INCREMENT PRIMARY KEY, project_id INTEGER, tag_id INTEGER)
;
$ lb relation
Project
has and belongs to many
Tag
POST localhost:3000/api/Project
POST http://localhost:3000/api/Projects/{ProjectId}/Tags
第一步创建 table,它将 Projects
链接到 Tags
。
第二个在环回中创建关系并修改您的 Project.json
relations
第三个新建Project
第四个为该项目创建一个新标签。 REST 资源管理器中有更多选项。
编辑
要添加项目中已存在的标签,请使用 PUT /Projects/{PROJECT_ID}/Tags/rel/{TAG_ID}
详情
https://loopback.io/doc/en/lb3/HasAndBelongsToMany-relations.html
https://loopback.io/doc/en/lb3/HasManyThrough-relations.html
hasAndBelongsToMany 本质上与 hasManyThrough 相同,除了直通模型是隐式创建的。
要实现 HasManyAndBelongsToMany
必须存在一个 table,它 将一个映射到另一个。 如果将关系添加到项目模型,它将被称为 ProjectTag
(我将定义它有一个环回模型,因为我不知道你的 RDBMS)。
{
"name": "ProjectTag",
"properties": {
"projectId": {
"type": "Number"
},
"tagId": {
"type": "Number"
},
"id": {
"type": "Number"
}
}
}
您可以创建与 lb relation
的关系。这会将其放入您的模型之一。 (我的模型是 Whosebug1)
"Whosebug2s": {
"type": "hasAndBelongsToMany",
"model": "Whosebug_2",
"foreignKey": "",
"options": {
"nestRemoting": true
}
}
For example while creating a project, the user may type already existing tags, or new tags, and those should be added to the project.
您必须先创建项目POST localhost:3000/api/Project
然后您可以使用 POST http://localhost:3000/api/Projects/{ProjectId}/Tags
为该特定对象添加标签。
在 Loopback 中如何创建标签? 例如有项目
{
id,
name
}
还有类似型号的标签合集 现在项目需要有多个标签,同一个标签可以在多个项目中使用
例如,在创建项目时,用户可能会键入已经存在的标签或新标签,这些标签应该添加到项目中。
我在环回框架中找不到我需要的确切关系。你是怎么做到的?
TLDR
CREATE TABLE ProjectTag (id AUTO INCREMENT PRIMARY KEY, project_id INTEGER, tag_id INTEGER)
;$ lb relation
Project
has and belongs to many
Tag
POST localhost:3000/api/Project
POST http://localhost:3000/api/Projects/{ProjectId}/Tags
第一步创建 table,它将 Projects
链接到 Tags
。
第二个在环回中创建关系并修改您的 Project.json
relations
第三个新建Project
第四个为该项目创建一个新标签。 REST 资源管理器中有更多选项。
编辑
要添加项目中已存在的标签,请使用 PUT /Projects/{PROJECT_ID}/Tags/rel/{TAG_ID}
详情
https://loopback.io/doc/en/lb3/HasAndBelongsToMany-relations.html https://loopback.io/doc/en/lb3/HasManyThrough-relations.html
hasAndBelongsToMany 本质上与 hasManyThrough 相同,除了直通模型是隐式创建的。
要实现 HasManyAndBelongsToMany
必须存在一个 table,它 将一个映射到另一个。 如果将关系添加到项目模型,它将被称为 ProjectTag
(我将定义它有一个环回模型,因为我不知道你的 RDBMS)。
{
"name": "ProjectTag",
"properties": {
"projectId": {
"type": "Number"
},
"tagId": {
"type": "Number"
},
"id": {
"type": "Number"
}
}
}
您可以创建与 lb relation
的关系。这会将其放入您的模型之一。 (我的模型是 Whosebug1)
"Whosebug2s": {
"type": "hasAndBelongsToMany",
"model": "Whosebug_2",
"foreignKey": "",
"options": {
"nestRemoting": true
}
}
For example while creating a project, the user may type already existing tags, or new tags, and those should be added to the project.
您必须先创建项目POST localhost:3000/api/Project
然后您可以使用 POST http://localhost:3000/api/Projects/{ProjectId}/Tags
为该特定对象添加标签。