问题标签 [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 回答
229 浏览

core-data - 仅在存储的最后一个子记录上存储指向父记录的核心数据存储链接

我有一个使用 XCode 4 创建的核心数据模型,它正在做一些奇怪的事情。我有一个名为 ProbeObj 的实体,它与另一个名为 SmokeObj 的实体定义了关系。在图中,我在 ProbObj 上创建了 ProbeToSmoke 关系,在 SmokeObj 上,我创建了 SmokeToProbe 关系,并将其设置为与 ProbeObj 上定义的关系的反向关系。我为这两个对象生成了 .h 和 .m 文件,并将它们包含在我创建的类中以处理数据的插入。他们来了:

我的代码从网站收集数据,对其进行解析,然后将记录添加到 ProbObj 表中。SmokeObj 的数据被传递到程序的这一部分并存储为 self.SmokeForThisRun。这是处理此问题的代码,删除了不相关的部分:

此代码每 1 分钟调用一次,以从网站获取最新信息。

我遇到的问题是,当我通过代码或 SQLLite 数据库查看器应用程序查看数据时,唯一设置了 SmokeObj 的记录是最后一条记录。例如,如果 SmokeObj = 1 并且我收集 ProbeObj 数据 3 次,则只有最后一个 ProbeObj 的 SmokeObj = 1。其他两个 SmokeObj 的值为空。如果我只收集 1 个 ProbeObj,那么它将具有正确的 SmokeObj 值。无论我收集数据 1 次还是 100 次都会出现问题。只有收集的最后一条记录具有正确的 SmokeObj。

任何帮助将不胜感激。

-NCGrimbo

0 投票
2 回答
1786 浏览

ruby-on-rails - Rails 中的“虚拟关系”

我正在尝试在 Rails 中建立“虚拟关系”(我称之为 - 不知道是否有真正的术语)。这是我拥有的一个绝对有效的方法: Address belongs_to BusinessBusiness has_many Addresses地址有一个“类别”列:MailingPhysical。理论上,一家企业可以拥有任意数量的每种类型,但实际上它们只有一种。所以我的模型看起来像这样:

因此,我有两个“虚拟”has_one,因此我可以方便地访问其中一个(如business.physical_addressbusiness.mailing_address),而无需自己进行分离工作。

现在我正在尝试做类似的事情,但是使用has_many :through。这是我的新场景。我与连接有一个简单的多对多关系。假设A有很多JB也有很多JJ属于AB。但是,A也有很多BJ。所以我可以作为a.bs访问它们。

但是,B中的条目也有一个“类别”。因此,与上面的Business/Address示例一样,我希望在A中具有“虚拟”具有单通/多通关系,因此我不必按类别手动分隔B 。我试过这样的事情(假设A正好有一个B的 category='Type 1'):

但是,当我在A上进行查找时,生成的对象中没有b_type1属性。

甚至有可能做我想做的事吗?任何帮助表示赞赏。

编辑:我需要将其序列化为 Adob​​e Flex 前端(使用RestfulX框架)。根据这个线程,我不能只使用@Andrew 在下面建议的方法,因为如果没有一些繁重的工作,生成的对象将无法正确序列化。

0 投票
2 回答
749 浏览

ruby-on-rails - Rails - 来自 has_many 和 Has_many_and_belongs_to_many 的数据视图

我正在尝试实施这个项目:

http://img7.imagebanana.com/img/cnb46ti2/relationships.png

  • 我想让在员工的显示页面上查看员工的技能
  • 一个员工有一个职位,每个职位都有这个职位的员工需要知道的技能
  • 因此,如果我理解正确,职位和技能具有 n:m 关系,并且他们需要一个连接表来建立 has_many_and_belongs_to_many 关系。因为一个职位包含很多技能,每个技能都属于很多职位。

现在我的问题

  1. position_skill-table -> 使用 has_and_belongs_to_many 关系更好,所以这个表没有自己的 id 还是使用 has_many :through 关系更好?我想最好使用 has_and_belongs_to_many 关系,因为这个关系表里面除了两个键之外没有任何进一步的信息。我对吗?
  2. 如果我采用 has_and_belongs_to_many - 关系,那是我唯一需要写入模型的东西吗?

一种)class Position < ActiveRecord :: Base (...) has_and_belongs_to_many :skills (...)

b)class Skill < ActiveRecord :: Base (...) has_and_belongs_to_many :positions (...)

c) 进入 db\migratedef self.up create_table :positon_skill, :id => false do |t| (...) 之后,职位和技能是相互关联的吗?是对的吗?我是不是忘记了什么?

  • 如果是这样,我怎样才能在员工的显示页面上查看技能?一个员工有1个职位,这个职位有几个技能......我需要在员工的show.html.erb中写入什么代码?像<%= employee.position.skill %>什么?我还需要渲染一些东西吗?对不起,我很困惑,我认为我在网上阅读了太多信息......或者网上有什么描述可以准确描述我需要什么?

提前非常感谢,很抱歉这个多余的问题。

0 投票
1 回答
1151 浏览

core-data - Xcode4 核心数据关系

我再次通读了 Apple 开发人员 Core Data 文档,发现它在创建 SQLLite 实体时缺少图形 Xcode 4 编辑器,就像我在 Xcode 3 中分离 IB 时发现它所缺少的一样。

三张表:

  • 压缩数据
  • 位置数据
  • 交叉引用

CrossReference 具有 ZipData 和 LocationData 的主键,因此我只需要查询 CrossReference 即可获取位置的所有 zip 或 zip 的所有位置。这当然意味着 ZipData 和 LocationData 上的一对多关系(也许在 CrossReference 上?)。

我所拥有的(那是行不通的)关系方面是这样的:

  • ZipData 有一个关系“位置”,它指向 LocationData 并且是反向的
  • LocationData 有一个关系“zipsCodes”,它指向 ZipData 并且是反向的
  • CrossReference 表有两种关系,一种与 ZipData(并且是反向的)和一种与 LocationData(并且是反向的)的关系。

我还没有将任何实体子分类为 NSManagedObjects。我只是在 viewDidLoad 方法中执行下面的代码,只是为了看看我的设置是否有效。

我不明白如何设置这些关系,也不知道如何相信主键已设置好,而实体只是找到了一起的方式。

即使当我查看模拟器 sqllite db 时我看到测试实体已被持久化(但在 CrossReference 中没有任何内容),我在日志中什么也没有得到。我知道我在关系方面错过了一些东西,但我不能指望它。

0 投票
3 回答
102 浏览

ruby-on-rails - How do I describe a relationship like "issue has status" in Rails 3?

I am developing an "issue tracker" app in Rails 3 but I am having trouble describing the relationship between an "Issue" and its "Status". Each issue can only have one status - I'd like this to be a combo box in HTML - but clearly each status can be assigned to multiple issues. I started with "issue has one status" but then I ran into problems retrieving that status in the view. I assume this is correct, but I must need something else...

0 投票
2 回答
1049 浏览

sql-server - 您介意整理几个初级 SQL 发票数据库创建问题吗?

我对 SQL 有点陌生。

我需要制作一张可以查询的发票,以创建一个看起来像这样的文档:

截屏

这是我制作的鱼尾纹图:

鱼尾纹图

我不确定客户送货地址和帐单地址是否应该是一个单独的实体。我也不太确定 tblProductLine 与 tblItem 和 tblInvoice 的关系。我画的对吗?

我是否匹配了架构并正确设置了关系?另外,有人可以解释什么时候需要外键吗?(因为我不确定将它们放在哪里)我假设它们在 1 到多个关系的末尾去引用调用它的前一个表,但我不确定......哪些表需要外国钥匙?

无论如何...任何帮助或评论都会很棒!

0 投票
1 回答
819 浏览

python - web2py,数据库关系和权限

所以我有这个问题,我有 2 个表,例如模板(id,user_id,template_name,reference) user_settings(id,user_id,default_template)

因此每个用户都可以创建许多模板,并且在他的设置中他可以选择一个他将始终使用的默认模板

所以现在有很多用户,所以当用户想要选择默认模板时,他可以看到所有模板(他自己的模板和其他用户的模板)

表是这样定义的:


我应该怎么做才能让用户只选择他自己的模板!

0 投票
1 回答
1529 浏览

php - PHP MVC 数据库关系对象

我试图弄清楚如何在 PHP 中建模数据库关系。比如说我有一个 User 类和一个 Book 类。一个用户有很多书(一对多)。

我在你可以做的框架中看到,

$books = getUser($id)->getBooks(); 检索属于具有 $id 的用户的所有书籍。

所以我考虑过这样做(我不想使用框架或 ORM),1.首先获取用户 2.获取属于用户的书籍(两个 SQL 查询)或 1.获取属于用户的所有书籍使用 sql 连接查询。

我希望这是通用的,因此它可以适用于许多不同的场景,例如。用户有很多书,书有很多评论等等..

提前致谢。约翰

0 投票
1 回答
220 浏览

mysql - CakePHP 难题 - 保存在 HasMany 关系中

好吧,我在这里把自己绑起来——我需要比我更清晰的头脑才能切入问题的中心!

我有一个模型 Livesession 模型,它有许多 Sessiontracks。

有人编辑 livesession 以及 sessiontracks 信息,这些信息由用户以相同的形式提交。

目前,到目前为止,这可能过于复杂,我正在这样做:

就目前而言,这可以很好地从表单中获取 sessiontracks 信息,并在每次编辑表单时用新信息替换旧的 sessiontracks 信息。 如果保存成功。如果保存失败,例如,如果编辑器试图空白一个必填字段,那么他们所有的 sessiontracks 信息都会从数据库中删除,并且不会被任何东西替换。

保存后无法删除 sessiontracks 信息;如果我根本不删除它,我最终会在 sessiontracks 表中得到重复和/或错误的信息。但我真的不希望用户输入大量曲目信息,并冒着因尝试错误编辑而丢失信息的风险。

如果 saveAll 失败,也许我可以保留旧的 sessiontracks 信息并在 deleteAll 之后将其保存回表中?不过,我肯定感觉到,我可能已经完全走错了路,并且不想更深入地挖掘自己。

即使在保存失败的情况下,确保我保留 Livesession 的相关数据的最佳方法是什么?

0 投票
3 回答
137 浏览

mysql - rails 3 mysql关系

自 6 个月以来,我一直在使用 rails 3 和 MySQL,但仍然不知道如何实现“字符串”列作为主键?我猜它不允许非整数字段成为 MySQL 中表的主键。例如。如果我有一个客户表,其中客户代码:字符串作为主键和产品表,它通过客户代码字段引用客户表,即产品表中的客户代码是外键。我如何在 Rails 3 中实现这种关系?谁能建议我一些合适的方法来实现这种关系?