问题标签 [has-many-through]

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

ruby-on-rails - 如何在 RoR 中将多个不同类型的元素相互链接?

我有事件、文档和调查,它们都需要能够相互链接,我计划有一个包含四列的链接表,如下所示:

问题是我不知道如何在 RoR 中制作模型,以便我可以使用元素类型字段来识别相应元素 ID 属于哪个表(文档、事件或调查)。我对 Ruby 真的很陌生,任何帮助都将不胜感激。

0 投票
2 回答
1353 浏览

ruby-on-rails - 聚合条件 has_many rails 关联

我不确定这是否可行甚至更可取

但我想建立一个 has_many 关系或有条件的 named_scope 类型关系,以减轻我对一个简单关系而不是两个的痛苦。

目前我有两个模型,它们基本上包含相同的信息,并且通过相同的 key room_id 属于相同的模型房间,但以两种不同的方式保存数据。一个包含特定日期的特定信息,第二个包含一周中几天的通用费率。主要障碍是,Availables 可能根本不包含特定记录的信息,在这种情况下,它需要根据 room_rates 来获取平均价格,而不是给定日期的具体价格。

任何指示或建议?谢谢

可用的

房屋价格

或者可能是 finder_sql 方法?如:

但它也需要通过加入 room_rates 来填补不存在的 bookdates 的缺失记录

0 投票
4 回答
36496 浏览

ruby-on-rails - Ruby-on-Rails:多个 has_many :通过可能吗?

在 Rails 中是否可以有多个has_many :through相互传递的关系?我收到了这样做的建议,作为我发布的另一个问题的解决方案,但一直无法让它发挥作用。

朋友是通过连接表的循环关联。目标是创建一个has_many :throughfor friends_comments,所以我可以采取 aUser并做一些类似的事情user.friends_comments来获取他的朋友在一个查询中发表的所有评论。

这看起来很棒,也很有意义,但对我不起作用。这是我在尝试访问用户的friends_comments 时在相关部分遇到的错误:
ERROR: column users.user_id does not exist
: SELECT "comments".* FROM "comments" INNER JOIN "users" ON "comments".user_id = "users".id WHERE (("users".user_id = 1) AND ((status = 2)))

当我输入 user.friends 时,它可以工作,这是它执行的查询:
: SELECT "users".* FROM "users" INNER JOIN "friendships" ON "users".id = "friendships".friend_id WHERE (("friendships".user_id = 1) AND ((status = 2)))

所以它似乎完全忘记了原来的has_many通过友谊关系,然后不恰当地试图将User类用作连接表。

我做错了什么,或者这根本不可能?

0 投票
1 回答
601 浏览

ruby-on-rails - has_many :through 和 FormBuilder.fields_for

我有一个类Bar,它有一个用户定义的配置键和值列表,定义如下:

因此可用的配置键来自Foo类,而这些值的值来自Bar类。

我正在为这个 Bar 类创建一个表单,我需要循环config_keys使用name属性作为标签的每个字段,但文本框应该valueconfig_values

我看到的是,如果我这样做

我认为f.fields_for在一个集合上会为我做循环。

我以正确的方式接近这个吗?感觉就像我真的在与框架作斗争。

0 投票
3 回答
3639 浏览

ruby-on-rails - 用户 has_many :users, :through => :friends - 怎么样?

这是我的代码:

当我现在开始通过...添加用户时

只有friend的user_id填写,friend_id为null。

有什么帮助吗?

你的,乔恩。

0 投票
3 回答
967 浏览

ruby-on-rails - Rails 2:has_many:通过验证?

Rails 2.1.0(由于一些限制,目前无法升级)我正在努力实现这一目标。有什么提示吗?

  1. 一个项目通过join模型有很多用户
  2. 一个用户通过join模型拥有多个项目
  3. Admin 类继承 User 类。它也有一些管理员特定的东西。
  4. 管理员喜欢继承主管和操作员
  5. 项目有一名管理员,一名主管和多名操作员。

现在我想 1. 在单个项目表单中提交项目、管理员、主管和操作员的数据 2. 验证所有并在项目表单上显示错误。

方法是否正确?欢迎任何和所有建议。

0 投票
3 回答
183 浏览

ruby-on-rails - 这甚至应该是一个 has_many :through 关联吗?

一个帖子属于一个用户,一个用户有_许多帖子。
一个帖子也属于一个主题,一个主题有_许多帖子。

嗯,这很简单,也很容易设置,但是当我显示一个主题时,我不仅想要该主题的所有帖子,还想要发布该帖子的用户的 user_name 和 user_photo。但是,这些属性存储在 User 模型中,并且与 Topic 无关。那么我该如何设置呢?

也许它已经可以调用了,因为 Post 模型有两个外键,一个用于用户,一个用于主题?

或者,也许这是某种通过关联的“单向”has_many。就像 Post 是 join 模型,Topic 是 has_many :users, :through => :posts。但这反过来是不正确的。就像用户没有 has_many :topics。

那么这甚至需要 has_many :though 关联吗?我想我只是对控制器将帖子和该帖子的用户都称为给定主题的外观有点困惑。

编辑:说真的,感谢所有参与的人。我选择 tal 的答案是因为我将他的代码用于我的控制器;但是,我可以很容易地选择 j.'s 或 tim's。也谢谢你们俩。这实现起来非常简单。我想今天可能标志着我对 Rails 的热爱的开始。

0 投票
3 回答
2052 浏览

php - MySQL:4 表“has-many-through”加入?

假设我有以下 4 个表(例如): Owners、Trucks、Boxes、Apples。

一个车主可以有很多卡车,一辆卡车可以有很多箱子,一个箱子可以有很多苹果。

业主有身份证。卡车有一个 id 和 owner_id。盒子有一个 id 和 truck_id。苹果有一个 id 和 box_id。

假设我想获得 id = 34 的所有者“拥有”的所有苹果。所以我想获得所有者 34 拥有的卡车中的盒子中的所有苹果。

如果您愿意,则有一个“层次结构”,每个表都只引用其直接“父级”。如何在满足其他 3 个表的条件的同时快速过滤框?

我希望这有点道理。

谢谢。

0 投票
1 回答
685 浏览

ruby-on-rails - 是否可以通过 ActiveScaffold 实现 has_many, :through?

考虑以下模型:

是否可以使用 ActiveScaffold 来管理这种类型的关系?ArtistEvent 模型的存在是为了定义具有附加位置属性的 hbtm 关系。

谢谢!

乔纳森

0 投票
1 回答
252 浏览

ruby-on-rails - 如何在 rails 中的 has_many through 关联上执行 has_many through 关联?

警告:我可能有错误的“问题陈述”,但它是这样的:

一个活动有许多联系人。

一个活动有许多电子邮件。

因此,一个联系人通过一个活动有许多电子邮件。

一个电子邮件可以通过一个活动拥有多个联系人。

每个联系人-电子邮件对都有自己独特的状态(状态 1、状态 2 等)。

每个状态(对于联系人-电子邮件对)都有自己的用户。

我不知道如何为状态或用户建模。目前,最直接的挑战是状态。

(见下图)

替代文字