问题标签 [model-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.
ruby-on-rails - Rails 关联方法如何工作?
Rails 关联方法如何工作?让我们考虑这个例子
现在我可以做类似的事情
这会为我获取属于该用户的文章。到现在为止还挺好。
现在,我可以继续在某些条件下对这些文章进行查找。
或者简单地声明和关联方法,如
做
现在我的问题是,这对使用关联方法获取find
的对象数组有何作用?ActiveRecord
因为如果我们实现我们自己的User
实例方法调用articles
并编写我们自己的实现,它给我们的结果与关联方法完全相同,那么在ActiveRecord
对象的 fetch 数组上的查找将不起作用。
我的猜测是关联方法将某些属性附加到获取的对象数组中,从而可以使用find
和其他ActiveRecord
方法进行进一步查询。在这种情况下,代码执行的顺序是什么?我该如何验证这一点?
ruby-on-rails - Rails 多态关联,一类中有两种关联类型
考虑一个类:
问题是,当我使用 is 添加新投票时@link.link_votes << Vote.new
,vote_subject_type
我'Link'
希望它可以是'link_votes'
或类似的东西。这是 AR 限制还是有办法解决这个问题?
我实际上找到了一个相关的答案,但我不太确定它说的是什么:多态关联与同一模型上的多个关联
cakephp - CakePHP:间接关联模型的缺点
我在处理 cakephp 中的间接关联模型时遇到了一些问题。我目前的模型设置如下:
我正在尝试将有关所有这些模型的信息保存在一个表单中。我遇到的缺点如下:
表单助手似乎只能看到一层深的字段类型。
saveAll() 似乎只能将记录保存一层(对于多个模型表单)。
我到处寻找这些问题的解决方案,但由于我是 CakePHP 新手,我不确定处理这些问题的最新方法或“正确”方法是什么。
非常感谢任何建议。谢谢你们!
编辑:我在这里发布了我失败的尝试的代码:http: //bin.cakephp.org/saved/58501
ruby-on-rails - 使用 to_json 时如何访问 ':has_many :though' 连接表数据?
我有三个模型(在这里简化):
我正在使用 Rails 的 to_json 方法将其发送到一些 JavaScript,如下所示:
这完美地工作。通过连接表(子视图)可以很好地检索观察结果。
但是,我还想获取位于 childviews 连接表中的数据;特别是“needs_edit”的值。
我不知道如何在 to_json 调用中获取这些数据。
谁能帮我?提前谢谢了。
qryss
sql-server-2005 - 使用 AND 链接从中间表中过滤数据
我有以下情况:
表和列(数据库类型:Microsoft Sql Server 2005):
表:条目
- 条目ID
- ...其他不重要的列
表:属性
- 属性ID
表:EntryAttributes
- EntryID [关系到:Entries->EntryID]
- AttributeID [关系到:Attributes->AttributeID]
那么,如何仅选择包含多个属性的条目,如以下 SQL 语句(该语句不适用于AND链接):
如何构建正确的 SQL 语句?我敢肯定,某处已经有解决方案,但我不知道应该使用哪些关键字来搜索该问题。
我使用“Linq to Entites”,所以也许有一个简单的 Linq 表达式。
感谢您阅读我的帖子!
此致!
ruby-on-rails - Rails:在来自不同数据库的表之间设置 has_many_through 关联
我正在尝试通过另一个连接模型 AccountOwnership 设置一个 has_many :through 两个模型 User 和 CustomerAccount 之间的关系(用户和 account_ownerships 表在一个数据库中,比如 db1,而 customer_accounts 表在远程数据库中,比如 db2)。
这是设置关联的相关代码
config/database.yml(配置正确,虽然这里没有显示)
在脚本/控制台中
还
但
这里的问题是“account_ownerships”和“users”表包含在一个默认数据库中(例如 db1),而“customers”表包含在另一个数据库中(例如 db2)。与数据库的连接配置正确,但在查找过程中,由于只有一个数据库连接对象可用,Rails 尝试在 db2 中查找 account_ownerships 数据库,因此失败。
看起来我的设计/逻辑可能有缺陷,因为我看不到使用相同的数据库连接连接到两个不同数据库的方法,但我很高兴看到是否有解决方法,而无需更改设计。(我不愿意改变设计,因为 db2 不在我的控制之下)
看起来我可以通过将 account_ownerships 表移动到 db2 来解决这个问题,但这至少对我来说不太理想。
是否有任何替代机制/模式可以在 Rails 中设置此关联。
提前致谢。米
ruby-on-rails - Rails 模型,属于很多
我很难弄清楚如何将我的一个模型与另一个模型关联起来。
就像现在一样,我有:
但是... ModelB 不仅需要属于 ModelA 的一个实例,还可能属于三个。我知道有一个 has_many :through,但我不确定在这种情况下它会如何工作。ModelA 的每个实例将始终恰好有三个 ModelB 实例。但如前所述,ModelB 可以不只属于 ModelA 的一个实例。
ruby-on-rails - Rails:子记录不跟踪父项的更改
我确定这是普通的 Rails 行为,我缺少一些基本的东西,但它是什么?
一个孩子属于一个父母,一个父母有很多成员。
虽然name
of 的属性parent
已经改变,并且虽然child
继续引用同一个父级,但它并不反映父级更新后的属性。这也不是update_attributes
失败的问题。child
如果再次从数据库中检索到Sally 的记录 ( ),则该name
属性会反映parent
的新值。
这里发生了什么?
感谢您的洞察力!
cakephp - CakePHP saveAll() 不会删除或更新连接表
我希望自动更新/删除连接表。我在 saveAll() 之前执行 deleteAll() 作为解决方法。
当我提交表单时,布局和组件模型会正确更新,但布局组件模型(即连接表)会插入新数据(这是我想要的),但不会删除引用的数据。
布局模型:
组件型号:
布局组件模型(连接表):
布局控制器:
如何自动删除加入?CakePHP 可以做到这一点吗?
ruby-on-rails - rails 3,新模型 B 与旧模型 A 1:1,如何为每个已经存在的 A 记录自动创建新的 B 记录
Rails v3.0.3 原始模式有客户表,应用程序有 100 个客户的数据。
通过迁移,我们以 1:1添加cust_info表,例如:
所以现在(在运行rake db:migrate
创建新模型之后)我们有 100 个“旧”客户记录,它们没有 1:1 所需的cust_info记录。
QUES (1a)(遗留数据更新)为我们 100 个现有客户记录中的每一个生成所需(空)cust_info记录的“rails 方式”是什么?
问题(2)(继续)我们如何修改我们的应用程序,以便当我们创建一个新的客户记录时,它会同时自动创建一个关联的cust_info记录?