问题标签 [table-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.

0 投票
1 回答
325 浏览

activerecord - Rails Active Record 可以同时理解两个表之间的两个同时关系吗?

我有两个表,usersgroups。一个用户可以属于许多组。一个组可以有很多用户。

因此,我使用连接表 groups_users 在用户和组之间创建了have_and_belongs_to_many关系。这一切都按预期工作。

我还想做的是为每个用户指定一个 ACTIVE 组。如果不是我已经定义的 habtm 关系,我会在 users 中为活动组创建一个列“group_id”,然后我会定义模型之间的一对多关系,如下所示:

这没有用。我无法访问像“@user.group.name”这样的组属性。我怀疑我通过指定两个关系对 Rails 提出了太多要求。

所以我有三个问题。

  1. 如果将这两种关系结合起来会混淆 Active Record ,我可以很容易地理解。是这样吗?
  2. 如果是这样,您将如何实现这些关系?现在我只是手动使用 group_id,但感觉很乱。
  3. 无论我是使用 Active Record 魔法还是手动设置活动组,使用第一个 habtm 关系,用户的活动组都可能在他们所属的组之外。关于如何在活动组必须是用户所属的组的约束下实现这一点的任何想法?

感谢您的任何见解。我已经进入 Rails 学习曲线几周了,我认为深入了解这个小问题会加深我对模型和表关系的理解。

0 投票
1 回答
1329 浏览

java - 休眠 MS SQL 加入问题

我在客户端 mssql 数据库中有两个表。第一个是作业表 - 所以我创建了一个包含负载类型和负载重量以及所有这些东西的作业实体 - 工作正常。

我现在的问题是有第二个表,其中包含有关装载和卸载点的信息。第二个表,我称之为 JEP,有一个由几个项目组成的主键:类型(加载或卸载)、邮政编码和客户编号。

我创建了一个实体 JobEndPoint,NetBeans 还创建了一个表示包含所有这些字段的主键 JobEndPointPK 的对象。

我想将两个 JobEndPoint(loadPoint 和 unloadPoint)添加到我的 Job 实体中。我现在的问题是:如何在 Hibernate 中注释它?在我看来,这是一个@OneToOne 关系船。如果我可以指定一个像SELECT * FROM JEP WHERE type="load" AND customer_nr="123" AND zip_code="123..." 这样的 SELECT 语句,那将是完美的。Hibernate 可以吗?

谢谢你的帮助!

问候,

马可


以下是实体:

0 投票
1 回答
145 浏览

sql-server - 数据库表关系:始终也与指定值相关(.NET Framework 中的 Linq to SQL)

我真的无法在标题中更好地描述我的问题。如果有人有建议:请告诉!

我在 .NET 中使用 Linq to SQL 框架。如果框架支持,我遇到了一些可以轻松解决的问题,否则将需要大量额外的编码:

我与中间的助手表有一个到 n 的关系。这些表是:项目、地点和将项目与地点和其他方式相关联的连接表。一件物品可以在很多地方找到,所以一个地方可以有很多物品。

当然,现在所有地方都会有很多物品。现在有一个问题:地方总是可以添加的。所以我需要一个包含所有地点的地点 ID,始终如此。就像一个地方ID“0”。如果辅助表有一行的 place-id 为零,那么这应该在所有地方都可见。在 SQL 中,这将是一个简单的“Where [...] or place-id = 0”,但我如何在 Linq 关系中做到这一点?

另外,对于一个小问题:我如何管理“除了这个地方之外的所有”类型的排除?

0 投票
2 回答
493 浏览

ruby-on-rails - Rails 数据库关系

我有三个模型,我想相互交互。

Kase,个人和公司。

我(我认为)正确设置了关系:

我已将选择字段放在创建新的 Kase 视图上,创建新的人员视图如下:

以上所有内容都成功显示了一个下拉菜单,其中动态填充了公司中的公司名称。

我要做的是在 kase 和人员 show.html.erb 中显示公司记录的联系人。

例如,如果我有一家名为“Acme, Inc.”的公司。并创建一个名为“Random Case”的新 Kase,并在创建新案例页面“Acme, Inc.”中选择。从公司下拉菜单中。然后,我想在“Random Case”show.html.erb 上显示“Acme, Inc”和“Acme, Inc. Mobile”等。

我希望这对某人有意义!

谢谢,

丹尼

编辑:kases_controller

0 投票
2 回答
97 浏览

mysql - 数据库多对多关系

我有一个学生和教师表。学生的主键是 studendID (SID),而教师的主键自然是教员 ID。学生有一个顾​​问列和一个请求的顾问列,它们是教师的外键。这很简单,对吧?

但是,现在我必须加入日期。我希望能够查看他们在某个季度(例如 2009 年冬季)的顾问是谁以及他们要求谁。

结果将是这样的表格:

然后,如果我愿意,我也可以继续查看不同的年份和不同的术语。

我不确定这些新表会是什么样子。是否会有包含秋季、春季和冬季三列的年份表?秋季、春季、冬季餐桌会有什么?

我是桌子艺术的新手,所以这让我感到困惑......

另外,我觉得我应该澄清该网站到目前为止的工作方式。管理员可以批准学生的请求,而学生的当前顾问会被他们的请求覆盖。但是,我想我不应该再这样做了,对吧?

0 投票
1 回答
282 浏览

.net-4.0 - 从数据库生成模型时,实体框架 4 隐藏底层解析器表

从头开始创建实体框架模型时,可以在模型中指定多对多关系。

例如 Entity1 * ----- * Entity2

当从中生成数据库时,会在两个实体之间自动创建一个解析器表,这隐藏在代码模型中,允许通过属性直接访问每个实体。

例如 Entity1 -* ResolverEntity *----- Entity2

我的问题是,当从包含解析器表的现有数据库生成模型时,是否可以创建相同的效果,使解析器表不会出现在生成的对象模型中?

当我尝试这样做时,实体框架似乎在模型中为解析器表创建实体,而没有明显的方法将它们隐藏在对象模型中。

谢谢。

0 投票
1 回答
147 浏览

mysql - CakePHP 模型通过中间表关联?

我有一个 Home 模型,它链接到 Home.realtor_num = Realtor.num 上的 Realtor 模型。我有一个 Office 模型链接到 Realtor.office_num = Office.num 上的 Realtor 模型。

假设我想在 Homes 表的查找结果集中轻松访问 Office.name。有没有一种简单的方法来指定上述关系,这样 $home['Office']['name'] 将包含我正在寻找的数据?

0 投票
2 回答
1526 浏览

zend-framework - Zend Framework 在特定条件下获取相关行

我想从依赖表中遵循给定条件的依赖表中检索行。

0 投票
1 回答
496 浏览

zend-framework - Zend_Db 关系图

我有以下表格:

每个都有自己的映射器:
Product_Model_DbTable_Product
Product_Model_DbTable_Category
Product_Model_DbTable_ProdCategRelation

我看过一些关于它是如何完成的 教程,但我仍然不明白。


这是我目前拥有的:

我的实验控制器代码(或多或少有效,但该方法似乎不正确;还不如回到普通的表连接):


我是否可以仅通过实例化产品而不是整个产品来使用这些关系来获取产品的类别?

0 投票
1 回答
77 浏览

mysql - CakePHP:在远距离相关模型中查找信息

我有一个 News 模型,它与一个 Artists 模型具有 HABTM 关系,而一个艺术家又拥有许多巡回演出。

如果我想查找与当前新闻项目相关的所有巡演日期,对于 CakePHP 来说,什么是有效的措辞方式?

这就是我到目前为止所拥有的;我想知道(a)它是否应该工作,以及(b)是否有更简洁的编写方式: