问题标签 [self-reference]

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 回答
1126 浏览

oracle - 需要带有 sys_connect_by_path 函数的索引吗?如何模仿它?

我在 Oracle 9i 中有一个自引用表,以及一个从中获取数据的视图:

该表存储 PHP 应用程序的配置。现在我需要在 oracle 视图中使用相同的配置。

我想按路径从视图中选择一些值,但不幸的是,这需要 0.15 秒,所以这是不可接受的成本。

起初我想到了 sys_connect_by_path 上的函数索引,但这是不可能的,因为它还需要 CONNECT BY 子句。

任何建议如何从“配置”视图模拟路径列上的索引?

0 投票
2 回答
4089 浏览

hibernate - Hibernate 中的自引用实体

我有一个Action实体,它可以Action在双向一对多关系中将其他对象作为子对象。问题是 Hibernate 输出以下异常:

“集合映射中的重复列:DbAction.childs 列:actionId”

下面是映射代码:

0 投票
4 回答
1810 浏览

javascript - 如何在 JavaScript 事件处理程序中引用对象?

注意:本题使用 jQuery ,但本题与 jQuery 无关

好的,所以我有这个对象:

这个对象有一个名为的方法Serialize()

这是方法AddToPage()

上面的问题是this.OnClick()(显然不起作用)。我需要onclick处理程序来调用BigBox该类的成员。我怎样才能做到这一点?

对象如何在事件处理程序中引用自己?

0 投票
5 回答
554 浏览

python - 类 __init__(不是实例 __init__)

这是我要解决的一个非常简单的示例:

问题是我无法在 Test 仍在定义时引用它

通常,我会这样做:

但我从不创建此类的实例。它实际上只是一个容纳一组相关函数和数据的容器(我有几个这样的类,并且我传递对它们的引用,因此Test 必须是它自己的类

所以我的问题是,在定义它时我怎么能引用 Test ,或者在定义类后是否有类似于__init__get 的东西?如果可能的话,我想self.some_dict = {Test: True}留在类定义中。到目前为止,这是我知道如何做到这一点的唯一方法:

0 投票
1 回答
592 浏览

ruby-on-rails - Rails 中的模型自引用集合

我在 Rails 2.3.5 中编写了一个在线服装商店的应用程序。我想在客户查看产品详细信息页面时显示相关产品。

例如,如果客户查看西装的详细信息页面,我想展示与连衣裙相匹配的配饰产品,例如背心、鞋子和腰带。我已将相关产品命名为 Ensemble。然而,背心、鞋子和腰带也是让我苦苦挣扎的产品。

我让它按如下方式工作,但我知道这不是 Rails 方式。我有一个所有产品的产品表。这里不重要,但我也有一个 ProductDetails 表。我有一个包含以下列的 Ensembles 表:

  • product_id - 主要或原始产品,显示在详细信息页面上的产品
  • suit_id - 相关或附属产品

在设置数据时,在 Products 列表中,对于每个 Product 我都有一个 Ensemble 链接。此链接将您带到 Ensembles 控制器中的索引操作。

使用“主”产品的 id,我通过 product_id 找到所有关联的 Ensemble 行,或者我创建一个新的 ensemble 并将主产品的 id 分配为 product_id。我希望能够通过 @product.related_products 获得一个 Ensemble 集合。

同样在索引页面上,我列出了主要产品的列,以便用户可以确定他们的主要产品是他们从列表中选择的产品。我还有一个其他产品的选择列表,其中包含“添加到合奏”操作。

最后在同一个索引页面上,我有一个表格,显示已经在集合中的产品,并且在该列表中,每一行都有一个销毁链接,用于从集合中删除特定产品。如果给定单个 Ensemble 行 @ensemble 我可以做 @ensemble.product 来获取与 ensemble 行的装备 ID 相关的产品,那就太好了。

我已经让它在没有关联的情况下工作,但我必须在控制器中运行查询来构建我自己的@product、@ensemble 和@ensemble 集合。此外,我发现销毁合奏行的唯一方法是通过 Ensemble.connection.delete(sql to delete),简单的 @ensemble.destroy 不起作用。

任何人都知道我将如何设置关联或提供指向解释类似设置的站点的链接。我发现的所有示例都没有使用同一张表。他们通过 C 与 B 相关。我想要通过 B 与其他 A 相关的 A。

0 投票
1 回答
2672 浏览

ruby-on-rails - 双向自引用关联

以 Ryan Bates 的 asciicast 为例: http ://asciicasts.com/episodes/163-self-referential-association

他以用户的两个关联结束

  • :朋友们
  • :inverse_friends

鉴于用户不会关心谁挑起了友谊,你会想要一个简单的用户关联

  • :朋友们

由这两种关系组成。即用户发起的关系和用户的朋友发起的关系。

那么如何实现这种双向的自引用关联呢?

更新 - Josh Susser 在这里有一篇关于此的帖子:http: //blog.hasmanythrough.com/2006/4/21/self-referential-through

但是,它仍然会讨论 has_many :sources 和 has_many :sinks,而实际上应该有一个包含源和接收器的 has_many :nodes。

0 投票
1 回答
400 浏览

mysql - 是否可以对自引用表中的分层数据使用约束?

假设您有下表,旨在表示分层数据:

该表是自引用的,因为parent_id引用id.

所以你可能有以下数据:

使用 MySQL,我试图对数据施加(自引用)外键约束,以便在更新时级联并防止删除记录(如果它有任何“子项”)。

所以我使用了以下内容:

据我了解,这应该符合我的要求。(并且parent必须默认为 null 才能允许插入,对吗?)

问题是,如果我更改id记录,它不会级联:

我错过了什么?

如果我的术语搞砸了,请随时纠正我......我是新来的约束。

0 投票
1 回答
1940 浏览

ruby-on-rails - rails:自引用关联

我的需求很简单:我有一个 Tip 表来接收评论,也有评论来接收评论。

为了检索存储在同一个表(comments)中的每个评论,我为评论的评论创建了另一个键:“inverse_comments”。

我尝试通过使用自引用关联来使用一个评论表。有些资源似乎将不止一张桌子带入了与我的需求不同的桌子。因此,我提出了以下建模意见:

显然这里缺少一些东西,但我无法弄清楚。有人可以启发我吗:

我需要做哪些改变才能使模型工作?

谢谢。

0 投票
8 回答
2486 浏览

c++ - 自引用类型

什么类型的 T 使以下代码可编译?

我更喜欢 C 答案,但我将问题标记为 C 和 C++,以防只有使用模板的答案。

0 投票
2 回答
588 浏览

database - perl中对数据库的递归调用

我知道有一种简单的方法可以做到这一点,但我的递归能力已经过时了。给定一个包含三个字段的数据库表:

我应该能够组合一个递归函数,它会给出如下输出:

我知道这应该很容易,但我无法通过心理体操来让它发挥作用。另外,这是一件好事吗?似乎我最终可能会打开相当多的数据库连接。

我认为这是让我感到困难的部分。我从一个 child_id 开始,然后一路向上。一个孩子可以有很多父母。因此,输出将是树“根”处的子 ID,然后是每个分支的父母和祖父母。我越想,这只是传统的“一个父母,许多祖父母”的公式,除了语义。我可能只是想多了。

该表看起来像这样: