问题标签 [relationships]
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.
ruby-on-rails - 与 Rails/ActiveRecord 的多态 habtm 关系
我将如何使用 Rails/ActiveRecord 创建多态 has_and_belongs_to_many 关系?
我看到的大多数示例都涉及创建一个 belongs_to 关系,这将我的多态端限制为仅与一个父级相关:
表:任务
表:Tasks_Targets
表:客户商店
表:软件系统
在这种情况下,CustomerStore 和 SoftwareSystem 都属于“Targetable”类型。据我了解,如果我像大多数示例所示那样实现多态关系,我只能将 Targetable 与 Task 关联一次。
一些澄清可能会有所帮助,因为大多数在线搜索仍然无法解释这种关系背后的一些理论......
谢谢!
java - 实施 Unowned 关系 Google App Engine
我的问题更多是关于如何与 Google App Engine 实现无主关系的最佳实践问题。我正在使用 JDO 来做我的坚持,就像在谷歌文档中推荐的那样,我坚持我的无主关系列表,如下所示:
现在,当我使用 Key 对象查询该对象列表时,我遇到了困境。因此,当我获取组键列表以实际返回组对象列表时,我必须查找该键以获取对象。我的问题是对模型对象进行无主查找的推荐方法是什么?
我应该在我的模型对象上有一个 PersistanceManagerFactory 的实例,以便我可以进行查找吗?
我是否应该在我的 Model 对象上有一个 GroupDAO 对象的实例,以便我可以进行查找?
我应该有一个实用程序来进行这种类型的查找吗?
我是新手,所以我只想知道哪种方法最好。谢谢。
zend-framework - Zend 框架关系 - 在 findManyToManyRowset() 中定义列名?
我正在开发一个使用 Zend Framework 开发的应用程序。我已经在模型中定义了关系,并且可以愉快地使用它们,例如:
但是,我遇到了一个问题,即返回的行集在“人员”和“工作”中具有相同的列名,因此合并了数组键,从而丢失了最终行集中的一些数据。
我知道我可以将Zend_Db_Select
对象findManyToManyRowset()
作为参数之一传递,但找不到任何说明在这种情况下如何使用它的文档,例如:
如果我尝试使用上面的代码,我会收到一条消息,例如:
谁能告诉我这应该怎么做?我知道我可以更改数据库中的列名,但我更喜欢更改代码,而不是重新设计我的数据库结构并更新所有相关代码。
注意:如果没有上述某种形式的列别名,则返回的行集如下所示(即,它合并具有相同名称的列):
干杯,
马特
ruby-on-rails - ActiveRecord:创建一对多的关系回到自己
我正在建立一个社交网站。我有一个用户表。每个用户可以有多个其他用户作为朋友,所以我有第二个表 Friends:
基于这个答案,我正在尝试建立关系。我有,
和
当我尝试在我的视图中使用这些表时:
返回的名称始终是源用户的名称,而不是目标朋友的名称。
ruby-on-rails - 为什么 find(:last) 在我的单元测试中失败?
我在 Rails 中有一对多的关系:
我在活动中有一个方法:
和以下单元测试:
在指示的行上失败了,但我不知道为什么。
此外,在使用开发环境时使用 activities.find(:last) 有效,但仅在测试环境下失败。我已经删除并重建了数据库。
ruby-on-rails - 单个模型可以“belong_to”多个父模型吗?
就像在 StackOverflow 上一样,在我的应用程序中,用户可以编写问题,也可以提供答案:
我的问题与上面的答案模型有关:
用户和问题模型都可以Answer
吗?belong_to
我有一种感觉,我在某处读到一个模型只能有一个外键。如果是这样,我该如何纠正?
php - CakePHP 在 SELECT 输入中选择默认值
使用 CakePHP:
我有一个多对一的关系,让我们假设它是多叶树。当然,我烘焙了一个表单来将叶子添加到树中,您可以使用表单助手创建的下拉框(标签)来指定它是哪棵树。
唯一的问题是,SELECT 框始终默认为树 #1,但我希望它默认为它被添加到的树:
例如,调用example.com/leaf/add/5
会调出向树#5 添加新叶子的界面。的下拉框Leaf.tree_id
将默认为“树 5”,而不是当前默认的“树 1”。
我需要在我的 Leaf 控制器和 Leaf 中放入什么view/add.ctp
来执行此操作?
objective-c - 核心数据删除规则和多对多关系
假设您有部门和员工,每个部门都有几个员工,但每个员工也可以是多个部门的一部分。
所以员工和部门之间是多对多的关系。删除部门时,我想删除仅属于该部门的所有员工,并取消所有同时属于另一个部门的员工与该部门的关系。
双向的级联规则会这样做吗?或者级联规则是否会自动删除一个部门的所有员工,而不考虑其他从属关系?
php - 在 CakePHP 中使用没有单个外键的模型
我正在开发一个应用程序,该应用程序具有从外国(并且完全不可更改)来源导入的数据。我将简化一些表格来解释问题。下面是带有主键的表。
因此,您可以看到 Invoices、Headers 和 Deliveries 具有一对一的关系。发票到交易和发票到消息是一对多的。
在将这些表导入我自己的数据库时,我已将现有主键更改为唯一键,并id
在每个表上添加了一个 auto_incrementing 字段 ( )。
现在的问题是在 Cake 中建立关系,因为它根本不处理复合键。我已经能够让一对一的关系像这样工作:
这很有效,因为一对一的关系是通过一个大的 LEFT JOIN 一次性查询的。尝试使用一对多关系(例如,使用 Invoices 和 Transactions)的相同方法会失败,因为 Cake 会执行两个查询:第一个是查找所有匹配的 Invoices,然后第二个是查找具有相应外部的所有 Transactions与第一个查询的结果匹配的键:(这是它尝试运行的简化查询)
你可以看到,它没有加入发票,所以查询死了。
关于如何完成这项工作的任何想法?
django - django递归关系
我的 DjangoApp 正在使用类别来生成导航并将内容放入这些类别中。
有两种类型的类别:
- ParentCategories(顶级类别)
- ChildCategories(以 ParentCategory 作为父级的子类别)
因为类别非常相似,所以我不想使用两种不同的模型。这是我的类别模型:
在我的 djangoadmin 中,不会代表父级。如果我使用 python manage.py sql 我得到:
所以甚至不会创建父关系。
有没有一种方便的方法来解决这个问题?
我知道我可以只更改表,但我正在刷新/删除数据库很多,因为应用程序更改很快,我不想每次都手动更改表。
顺便说一句:我的开发数据库当然是 sqlite3。在服务器上,我们将使用 postgresql