问题标签 [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 - 您如何获得具有 MyObject has_many 的模型的名称?
使用 Ruby (1.8.7) 和 Rails (2.3.8)
做myObject.attributes
给你一个属性到值的散列。
假设我有这样的场景:
应该有一种方法可以获取与对象相关联的关联名称,对吧?
即使没有默认值,我也会对 .associations 方法的帮助感兴趣,类似于 .attributes - 除了返回数组而不是哈希。
ruby-on-rails - 查询以在 Ruby on Rails 中的关联表中按值分组
我想制作一个某个员工每个月用了多少钱的折线图,信息分散在 3 个表中。所需的输出是一个数组,如下所示。
涉及的型号如下
我有一个案例表,其中有很多费用,我想按案例内的日期值对费用进行分组,并将费用内的值相加以生成折线图所需的数据,以了解特定员工花了多少钱每一个月。
如果我想要所有案例的每月分组,这不会是一个问题,但是由于案例也会被选择,并且这些案例是按月分组的,我很确定他们有一个漂亮的 sql 查询来做到这一点,但想不出。
谁能给我指点?还是有更好的方法来生成数据?
到目前为止,这就是我想出的
ruby-on-rails - 具有使用同一个连接表的多个关联的许多直通关联回调
所以这可能是非常糟糕的形式。我对rails比较陌生。我不知道。
我有一个项目模型,我希望有很多所有者(可以读写所有内容)和许多合作者(可以读写一些东西)。
在我的 project.rb 文件中,我有:
所以这工作得相当好。如果我添加一个新所有者,该用户也是我想要的合作者。我不确定如何解决的问题是,如果我添加一个已经是协作者的用户作为所有者,我会在连接表中获得两个条目。我希望它只是修改已经存在的记录。我怎么做?
ruby-on-rails - 使用导轨从一种形式保存到多个模型
在过去的几周里,我一直在进入轨道,我遇到了一个我找不到答案的问题。我觉得这可能是一件非常简单的事情,但它让我发疯,所以我希望得到一点指导......
我正在将 1 个表单中的数据插入 2 个模型。一种模型称为 Venue,一种模型称为 Events。这是一个一对多的关联,其中多个事件属于场馆,场馆有许多活动。
楷模:
控制器:
形式:
日志输出:
如您所见,它没有失败,但仅提交给 1 模型。我的理解是,通过添加“accepts_nested_attributes_for :events”,Venue 模型知道然后转到我的事件表,使用我提供的事件数据创建一个新事件(在这个例子中只是艺术家 ID),然后自动插入我的 id 字段场地表进入场地_id。
我在这里想得越多,我想我可能会错过一个步骤,并且....如果有人有第二个,我会很高兴听到您对此的思考过程。
谢谢
model - Sencha Touch 1.xx - 从服务器代理加载关联模型
我一直在尝试从关联的模型存储中检索数据。请允许我简要概述一下我正在努力实现的目标。
我需要一个测验列表,点击测验后它会显示一个问题列表。点击问题后,您将获得相关的多项选择答案(可能是带有按钮的数据视图或另一个列表)。
在较早的测试版中,我使用平面树存储来显示测验,但这在美学方面受到限制,并且不允许我很容易地将我的数据与 api 同步,因此我试图让相关模型工作。我在网上发现了类似的问题,无法完全得到我所追求的。
这是相关代码(在 MVC 设置中)。我有 3 个相关模型:
QuizModel.js:
QuestionModel.js:
AnswerModel.js:
QuizController.js:
最后,我的 rest API 响应看起来像这样:
这导致:
“未捕获的错误:您正在使用 ServerProxy,但尚未为其提供 url。”。
现在我的 QuizModel 具有与我的 REST API 通信所需的代理,但从 questions() 加载似乎使用了默认代理。我尝试使用所需参数(包括 url 和必要的 api 密钥)配置加载调用,但这似乎不起作用。我似乎找不到任何关于我应该如何执行此操作的文档,并且大多数相关帖子仅讨论本地存储。请帮忙!
编辑:添加我的问题列表视图:
如您所见,我可以获得所需的数据(因为我在登录时加载商店),但我不知道如何使列表使用数据子集。我已经尝试过更新功能,但这并没有做很多!
ruby-on-rails - Rails 关联选项
我是 Rails 的新手,上个月左右才开始学习。我有一个关于建立模型关联的问题。我有点碰到了一个地方,我认为我需要回去对我已经做过的事情进行更改。这是场景。
我正在为乐队创建一个应用程序来列出即将发生的事件。
有几个重要因素
- 有多个乐队列表事件
- 每个乐队都有独特的活动,但也会与其他一些乐队共享一些活动(即当使用该系统的两个乐队一起在同一个场地演奏时)
- 有关于每个活动的某些信息,这些信息对于活动中的所有乐队都是通用的(即地点、日期、时间、城市、州等)
- 每个活动都有特定于一个乐队的特定信息(即特定的 VIP 购票 URL、他们自己对活动的描述等)
目前这是它的设置方式:
我还没有真正对艺术家模型做太多事情,因为我只是专注于将事件输入系统并为 1 位硬编码的艺术家正确列出。
基本上现在它的工作原理是用户转到创建活动表单,他们选择日期,下一行是场地名称。场地名称表格使用数据库中的场地名称 + 城市自动完成。如果用户在系统中已经存在的场所创建活动,则它实质上通过 Venue 模型将活动信息保存为嵌套属性。如果场地不在系统中,则出现位置数据的附加输入字段,然后创建新场地并与该事件相关联。
当我开始考虑让艺术家共享事件并维护仅针对该艺术家的事件的特定细节时,它开始变得有点棘手。我可以将每个事件视为一个单独的事件,这很容易,但是我不确定我怎么能说这个艺术家在这个日期与这些艺术家一起表演,除了艺术家将这些名字直接输入到 1 字段中。然后我也失去了 ActiveRecords 的很多魔力,关于哪些艺术家与哪些其他艺术家在哪里表演等等。
截至目前,只有 1 个活动模型,但我认为最好保留 1 个中心模型,仅用于多个乐队(如场地、城市、州等)不共享的活动基础知识,然后链接这些到二级 event_details 模型以获取特定于频段的信息。
您是否会建议多个模型,或者我是否有更好的方法将演奏多个事件的乐队联系在一起,而不是创建一个事件详细信息模型链接回多个艺术家共享的 1 个主要事件?我是否应该在事件表上创建某种类型的唯一事件标识符,以便将具有不同 ID 的事件视为另一个乐队正在播放的同一事件?我看到的唯一问题是,我将在我的数据库中的很多数据上加倍......我本质上希望能够在查看事件数据的同时说艺术家正在播放的这个日期这场演出,在这个场地,与这些其他乐队一起,而不必简单地创建一个“other_artists”列,乐队将简单地列出与他们一起表演的艺术家。
对不起,我希望这是有道理的......提前感谢您的任何建议!
ruby-on-rails - has_many :通过在 Rails 中使用 has_and_belongs_to_many
在 Rails 中 - 使用 has_many :through 和 has_and_belongs_to_many 有什么影响?考虑有两个模型 - 具有多对多关系的帖子和标签,如下所示:
我使用的原因has_and_belongs_to_many
是因为 atag
属于许多帖子。
我确实查看了Rails Association 指南,发现他们没有提到多对多关系的这种情况。然而,我确实尝试过这个并且在 Rails 中运行它并没有产生任何行为,并且从我构建的小型测试数据库中,似乎也返回了正确的结果post.tags
和tag.posts
- wherepost
并分别tag
引用了Post
和Tag
模型的实例。
这是正确的用法还是有我不知道的副作用?另外,如果它是正确的,这是实现这一目标的 Rails 方式吗?
谢谢!
sql - 使用数据映射器进行简单的租赁数据库设计
我刚刚开始学习数据库设计。对于我的第一个项目,我用 padrino 做了一个简单的博客,现在我想要一些对我来说更具挑战性的东西。由于我有点书迷,我的朋友总是要求我向他们借书。所以很自然地,在任何给定的时间,我都会有很多书在四处飘荡。
现在我想要一个可以让我跟踪书籍的应用程序,即:每个朋友都有一个»Account«,我有很多»Books«,我的朋友可以在任何给定时间段内租用书籍。但我不完全确定如何对不同模型之间的关联进行建模。
如果您能告诉我这个设计是否走在正确的轨道上,或者指出可以帮助我的资源,我将不胜感激。我怎样才能有效地管理一本书“消失”,然后又可以出租?
谢谢
ruby-on-rails-3 - 实现一个 has_many :through
我正在考虑使用“has_many:through”创建以下模型:
例如,我是否首先使用“rails generate model Contract authnum:string, client_id:integer, st_date:date, end_date:date”创建模型。然后在迁移之前填写所有关联?
另外,我的理解是,在使用 has_many :through 关联时,所有连接表都是由 rails 自动创建的。什么时候发生?
最后,如 ** 所示,我可以在代码行中使用此属性吗?我是否可以创建一个“rails generate migration add_units_alloc_to_codelines units_alloc:number”以便将此属性添加到连接表中?我还想知道如何将数字声明为小数点后两位?
如果您有时间和意愿,您能否评论一下我为我的数据库提出的设计?
谢谢。
cakephp - CakePHP - 扩展模型关联
我很好奇我错过了什么。只有一个例子可以帮助解释,但首先是句子问题:Inventory 和 InventoryCategory - 两者都有图像关联。当我查看单个 InventoryCategory 和相关的 Inventory 时,我想要两个图像关联。目前我只返回了 InventoryCategory->Image。没有为库存项目返回任何图像。这就是我在模型中的内容: