gpt4 book ai didi

javascript - 如何使用环回自关系实现递归连接?

转载 作者:行者123 更新时间:2023-12-03 07:40:44 24 4
gpt4 key购买 nike

如何在strongloop中使用自连接创建父子层次结构。我已创建模型名称作为菜单。

menu.json

{
"name": "Menu",
"base": "PersistedModel",
"strict": false,
"idInjection": false,
"options": {
"validateUpsert": true
},
"properties": {
"MenuID": {
"type": "Number",
"id": true,
"required": true
},
"Name": {
"type": "string"
},
"ParentMenuID": {
"type": "Number"
}
},
"validations": [],
"relations": {

"menus": {
"type": "hasMany",
"model": "Menu",
"foreignKey": "ParentMenuID",
}
},
"acls": [],
"methods": {}
}

Table data like:

menuId  Name     ParentID
1 parent 0
2 child 1
3 grandchild 2

我尝试使用过滤器进行 REST API 调用,但我得到了一层数据,例如 http://localhost:3000/api/Menus/?filter[include]=menus

 [
{
"MenuID": 1,
"Name": "parent",
"ParentMenuID": 0,
"menus": [
{
"MenuID": 2,
"Name": "child",
"ParentMenuID": 1
}
]
},
{
"MenuID": 2,
"Name": "child",
"ParentMenuID": 1,
"menus": [
{
"MenuID": 3,
"Name": "grandchild",
"ParentMenuID": 2
}
]
},
{
"MenuID": 3,
"Name": "grandchild",
"ParentMenuID": 2,
"menus": []
}
]

但是我需要如下输出:

[
{
"MenuID": 1,
"Name": "parent",
"ParentMenuID": 0,
"menus": [
{
"MenuID": 2,
"Name": "child",
"ParentMenuID": 1,
"menus": [
{
"MenuID": 3,
"Name": "grandchild",
"ParentMenuID": 2
}
]
}
]
}
]

请提出任何想法或示例。

最佳答案

使用 slc Loopback:model 创建模型后,只需运行 slc Loopback:relation 并将自连接创建为关系。

正如您现在在更新的问题中所做的那样。要包含另一个,您可以使用 include filterhttp://localhost:3000/api/Menus/?filter[include]=menus 并包含两个级别,您可以这样做:http://localhost:3000/api/Menus/?filter[include][menus]=menus

关于javascript - 如何使用环回自关系实现递归连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35427056/

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