问题标签 [self-referencing-table]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1413 浏览

c# - Entity Framework Core 中的自引用多对多关系

我正在使用 Entity Framework Core (EF) 为项目构建模型。

现在我想拯救公司和他们的等级制度。因此我有以下情况:

  • 子公司(子)有任意数量的子和任意数量的父。
  • 母公司有任意数量的孩子和任意数量的父母。

多对多反应几乎不是问题。真正的问题是多对多和自引用(相同的表名)的组合。

我不知道如何用这些案例编写模型。我希望任何人都可以帮助我。

0 投票
1 回答
99 浏览

php - 通过自引用表创建面包屑

是否可以从表自引用结构中使用 PHP 在我的网站产品页面上创建面包屑列表。

我尝试从产品循环以获取根类别,但结果是落后的。或者我尝试先获取根类别并循环它,但我不知道哪个是正确的子类别来获得我想要展示的产品。

0 投票
0 回答
310 浏览

ruby-on-rails - Ruby/Rails:构建嵌套对象数组的有效方法

我正在开发一个处理地方的 API。我有一个已构建为自引用并包含一parent_id列的表。到目前为止,该表中有 144 条记录。

我们的客户端应用程序需要接收嵌套位置。由于我使用的是 Rails,所以我一开始尝试使用序列化程序的强大功能来为我做这件事:

虽然它确实有效,但它似乎并不高效。首先,日志显示对数据库的大量 SQL 查询。当然,我尝试过使用类似的方法来急切加载数据,Locality.includes(:childrens).all但它不起作用并且没有效果(也许我做错了什么?)

我最终编写了一个递归函数,它获取位置的完整列表 ( Locality.all) 并检查每个元素的 parent_id 以嵌套它们。所以我删除了LocalitySerializer中的关联:

并在它自己的序列化程序中单独构建它:

虽然这有点快,但恕我直言,它仍然很慢。请注意,我在这里设置了一个低级缓存,以使其在后续请求时更快。我实际上没有做任何基准测试(只是将我的话作为最终用户的看法),但如果它可以帮助任何人找出更快的生成方法,我会很乐意这样做。

0 投票
0 回答
26 浏览

mysql - 我需要阅读哪个 MySQL 概念来查询其自身内部的“集合”实体并获得类似树的结果作为表?

因此,我对这些实体进行了建模:

  • 喂养
  • 收藏

我有这些关系的地方:

  • 一个Feed有一个Collection和一个单独的集合(1 对 1)
  • 一个Collection可以有任意数量的Feed (1 到 N)
  • 一个集合可以有任意数量的集合 (1 到 N)

以及我试图在视觉上表达的内容:

  • 收藏
    • 收藏
      • 喂养
    • 收藏
      • 喂养
      • 喂养
    • 喂养
    • 喂养
  • 收藏
    • 喂养
    • 喂养
    • 喂养

在此处输入图像描述

如何在表格结果中返回树?或者也许这不是正确的问题?我知道我想要什么,但我不确定我应该阅读什么才能理解这个问题。

谢谢!

0 投票
1 回答
1566 浏览

django - Django模型自引用:防止引用自身

我有以下模型:

我的问题是如何防止模型引用自身(同一个对象)。对象应该只能指向其他类别但不能指向自身(“狗”可以有父“动物”但不能有父“狗”)

0 投票
1 回答
1462 浏览

c# - EF Core - 自引用多对多关系

实体模型:

关系模型:

模型构建器:

更新作者:

尝试更新现有文档时,出现以下错误:

无法跟踪实体类型“DocumentTypeRetractRelation”的实例,因为已在跟踪具有相同键的此类型的另一个实例。添加新实体时,对于大多数键类型,如果没有设置键(即,如果键属性被分配了其类型的默认值),将创建一个唯一的临时键值。如果您为新实体显式设置键值,请确保它们不会与现有实体或为其他新实体生成的临时值发生冲突。附加现有实体时,请确保只有一个具有给定键值的实体实例附加到上下文。

0 投票
2 回答
4650 浏览

entity-framework - 实体框架核心一对一自引用关系失败

构建迁移时,出现以下错误:

无法确定“Location”类型的导航属性“Location.NorthLocation”表示的关系。手动配置关系,或从模型中忽略此属性。

位置实体:

类型配置:

我的目标是拥有一个 Location 实体,它可以自引用它自己的北/南/东/西邻居。

谁能建议我为什么会收到此错误?

0 投票
1 回答
1990 浏览

c# - 如何使用 Entity Framework Core 1.1 实现自引用多对多关系?

我正在按照本教程使用 EF Core 1.1 实现我的友谊系统:http: //www.codedodle.com/2014/12/social-network-friends-database.html

友谊.cs

应用程序用户.cs

MyDbContext.cs

添加迁移 InitialMigration 的结果

无法确定“ApplicationUser”类型的导航属性“Friendship.ActionUser”表示的关系。手动配置关系,或从模型中忽略此属性。

此外,随着 EF Core 的快速发展,我发现了许多不同的方法来做到这一点。我不确定我的自引用多对多关系的实现,有人可以给我一些建议吗?

  1. 如何定义 Friendship.ActionUser 和 ApplicationUser 之间的关系?
  2. 关于什么是实现这种自引用多对多关系的正确方法的任何建议?EF Core 发展迅速,我在网上找到了很多不同的方法,但它们似乎已经过时了

谢谢!:)

0 投票
2 回答
170 浏览

mysql - 在自引用查询中使用 MySQL 创建连接父列

我正在尝试使用一组文档以及一个表示基于其父级的文档路径的字段来填充 ElasticSearch。

这是我的表格布局:

这是所需的输出

我有这个查询,它获取由参数@child 指定的一个文档的路径;(又名SET @child = 5;

问题是如果我把它放到子查询中,我该如何设置@child?我已经尝试过 GROUP_CONCAT() 但它总是最终成为每一行的相同路径。我尝试将当前行的 Id 放在子查询中,但它会引发错误:ErrorCode: 1109. Unknown table 'doc' in field list在以下查询中

我究竟做错了什么?有没有更好的方法来做到这一点,我没有看到?

虽然它并不完全相关,但我会指出,我正在使用 logstash 脚本按计划将文档从我的数据库加载到 ElasticSearch 中。同样出于多重考虑,我已经删除了大部分列以及内容并替换为虚假内容。

0 投票
2 回答
780 浏览

sql-server - SELECT 从 Parent 继承值(自引用)

我有 02 个表 Rubrique 和 BulletinRubrique,该表Rubrique包含以下列:

以数据为例:

这两列RubriqueA_IDRubriqueB_ID同一张表的外来键Rubrique(自引用),它们可能是 NULL

对于表BulletinRubrique

有数据:

我想要做的是构建 sql 查询以获得结果:

请帮我建立这个查询,谢谢