问题标签 [associations]

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 投票
2 回答
3138 浏览

entity-framework - 实体框架 - 我如何使用实体关联?

当我的数据库中有具有 PK/FK 关系 (int) 的表时,并且当它们由实体框架设计器建模时,一切看起来都应该如此。我可以编写下面的代码,一切似乎也可以正常工作,但是当我运行代码时,我在 project.Status.StatusName 上收到错误,说对象引用未设置为对象的实例。我想我的印象是,当您填充父实体时,框架填充了关联实体。

0 投票
1 回答
795 浏览

ruby-on-rails - Rails:如何观察实际上没有模型的连接记录?

是否可以使用 Observer 来观察 JOIN 记录的创建?例如,您有一个拥有_and_belongs_to_many Book Models 的用户模型。是否可以在创建或删除 books_users 记录时对其进行监控,或者我必须有一个 BookUser 模型来执行此操作?

我想观察的例子:

或者

管他呢!

谢谢,

戴夫·K。

0 投票
2 回答
1805 浏览

ruby-on-rails - Rails ActiveRecord Update question

I have a user model which has multiple addresses. Now for my application in rails, address is not mandatory. So, if someone wants to create a user and enter the address after the user has been created, my application should allow that. My problem is, for Address model I have validations for Address Line 1, City and Postal Code. These fields cannot be blank. When, editing a user, the following code fails:

user.addresses << Address.new

Rails tries to create a new Address and fires an Insert command. This is going to fail because of the validations that is required in the model. The above code doesn't fail if the user is not present in the database. One solution to this problem is to create a separate form_for binding for the edit partial for user. I don't want to do that solution. Is there any solution that allows me to bind an empty Address object for an already existing User object in the database ?

0 投票
3 回答
307 浏览

ruby-on-rails - ActiveRecord has_n 关联

我想知道对一个对象与另一个类的 n 个对象相关联的关系进行建模的最佳方法是什么。我想将 has_one 关系扩展到 n 的特定值。

例如,TopFiveMoviesList 将属于用户并且恰好有五部电影。我会想象底层的 sql 表会有类似 movie_id_1、movie_id_2、...movi​​e_id_5 的字段。

我知道我可以做一个 has_many 关系并限制模型级别的孩子数量,但我宁愿没有中间表。

0 投票
5 回答
20519 浏览

uml - UML 类图关联——如何、何时以及为什么?

我通常对 UML 感到很困惑,这种情况也不例外。假设我有一个接口 IAnimal,Food 和 Cat 类:

我有 3 个关于为这 3 个元素绘制 UML 类图的问题:

  • 我认为我应该使用 IAnimal 和 Food 或 Cat 和 Food 之间的关联。关联线的一侧是否应该有箭头,如果有,那么在哪一侧,为什么会有?

  • 如果我在图表上将 Feed 作为 IAnimal 方法编写,我应该在 Cat 类中编写一个 Feed 方法还是只编写额外的 Cat 方法?

  • 最重要的是:应该在 IAnimal 和 Food、Cat 和 Food 之间建立关联,还是两者兼而有之?

0 投票
5 回答
9678 浏览

django - 如何在 Django 中定义模型之间的多态关系?

我正在开发一个包含Offer模型的 Django 应用程序。实例Offer包含定价条件并指向产品定义。产品模型实际上是一个层次结构(我有一个Television模型,一个Camcorder模型等)。所以我希望Offer模型包含一个多态(或“通用”)关联来指向任何产品。

目前,我所发现的只是在应用程序中使用通用关联ContentTypes。这可能会,但我正在寻找替代品,如果有的话。

谢谢你的帮助。

(请每个答案一个解决方案)

0 投票
4 回答
5390 浏览

ruby-on-rails - 优雅地从 has_many 中选择属性:通过 Rails 中的连接模型

我想知道从 has_many :through 关联中的连接模型中选择属性的最简单/最优雅的方法是什么。

假设我们有具有以下 Item 类的 Items、Catalogs 和 CatalogItems:

此外,假设 CatalogueItems 具有位置属性,并且任何目录和任何项目之间只有一个 CatalogueItem。

检索位置属性的最明显但有点令人沮丧的方法是:

这很烦人,因为我们似乎应该能够做到@item.catalogs.first.position,因为我们已经完全指定了我们想要的位置:对应于@item 目录的第一个位置。

我发现得到这个的唯一方法是:

现在我可以做 Item.catalogs.first.position。但是,这似乎有点像 hack - 我正在向 Catalog 实例添加一个额外的属性。它还开辟了尝试在两种不同情况下使用视图的可能性,其中我使用 Catalog.find 或 @item.catalogs 填充 @catalogs。在一种情况下,职位会在那里,而在另一种情况下,它不会。

有没有人对此有很好的解决方案?

谢谢。

0 投票
2 回答
685 浏览

ruby-on-rails - 在 Rails 中访问关联

有没有一种方法可以获取特定模型在 Rails 中所属的模型列表?

例如:

希望这有某种意义!

0 投票
2 回答
186 浏览

ruby-on-rails - 更好的关联表现

现在我有一个名为 Campaigns 的表,它有很多 Hits,如果我打电话说:

这需要 4 秒或 4213 毫秒。

如果我改为调用它:

它是否仍然加载所有点击数,然后计数?或者它是否看到我正在计数并避免加载所有点击?(目前是 300,000+ 行)。

我试图找出一种聪明的方法来加载/计算我的点击量。我正在考虑向我的 Campaign.rb 模型添加一个方法,例如:

我知道查询不会从hits表中加载,但这只是从自制查询中计算它的一个示例,与 Ruby on Rails 为我做这件事相反。

这个 memcache 查询会更有效吗?(我让它运行,但似乎没有更好/更快/更慢,只是速度相同。)

任何建议都会很棒!

0 投票
3 回答
114 浏览

ruby-on-rails - 为什么这个关联的创建调用不起作用?

我有一个包含许多项目的用户模型。评级属于用户和项目。

在数据库中,我将 rating.user_id 设置为不为 NULL。

当我创建一个项目时,我想这样做:

但是,这与 SQL 错误“user_id 不能为零”有关

所以我将create方法重写为

效果很好。

但是,我曾认为将创建方法链接到当前用户的接收器会填充评级的 user_id。有谁知道为什么不?

TIA。