问题标签 [active-record-query]
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:如何获取给定用户的最后一条消息创建时间?
用户可以有多个消息:
要获得最新的消息时间,我会这样做:
出于某种原因,我确信有更好的方法来做到这一点。
你会怎么做?
ruby-on-rails - Rails:如何对带有评论的消息进行排序?
消息可以有多个评论:
以下命名范围返回在给定时间范围内创建的消息,按创建时间排序(最新的在前):
我如何编写一个命名范围来返回具有在给定时间范围内创建的帖子(消息本身或其评论之一)的消息,按最新帖子的创建时间排序(最新的在前)?
例子:
如果存在以下消息:
然后
应该返回:
Message 3
不包括在内,因为它的帖子是在 2010 年 2 月之前创建
的。Message 2
首先是因为它有最新的帖子(2011 年 8 月)。
ruby - 在 Ruby 中,使用 ActiveRecord 在某些条件下检索属于父对象的对象的最佳方法是什么?
在我的模型Organisation
has_many :users
中,一个和一个User
has_and_belongs_to_many :roles
和一个Role
有一个name
和has_and_belongs_to_many :users
。
在我的Organisation
课堂上,我有一个方法get_admin
应该User
让Organisation
拥有Role
'admin'
. 像这样:
唉,这返回一个ActiveRecord::Relation
对象,而不是一个User
.
我尝试像这样附加.first
到行尾
但是我得到的只是一个 SQL 错误
我的模式是这样定义的:
我将如何重写Organisation
'get_admin
方法(如下)以返回实际的User
?
干杯
戴夫
ruby-on-rails - ActiveRecord 查询链
这个 ruby/rails 构造总是让我感到困惑:
这必须从左到右执行,以便每个连续的调用都有一个接收器。所以我们从 User 类开始,调用where
它返回一个ActiveRecord::Relation
. 然后limit
在该实例上调用,返回ActiveRecord::Relation
. 然后using
在该实例上调用(恰好选择了一个分片)。ActiveRecord::Relation
我猜,整个事情在对象内部建立了一个 SQL 查询。我的问题是,“是什么触发了查询的实际执行”?它不能在链中的任何特定点执行,因为链中可能存在进一步修改查询的后继者。即使using
返回,查询仍然无法执行,因为它不知道是否有附加方法附加到链上。显然,它确实在构建后执行查询,那么查询实际上是如何调用的呢?
谢谢...我现在看到链中方法的名称具有“语义”。有些人会进一步修改正在构建的查询。最后一个也是唯一的最后一个可能是需要获取数据的类型。
ruby-on-rails - Rails:acts-as-taggable-on:在关系上使用 tagged_with
假设我有一个模型 A,它与模型 B 具有 1 对 1 的关联。模型 B 设置为“acts_as_taggable”。我想返回一个活动记录关系,它选择所有 A 实例的 B 属性是 tagged_with 某个字符串。它看起来像: A.where('b.tagged_with = ?', 'some_tag')
我发现了这个SO question,但我有兴趣恢复活动记录关系,所以只有第二种解决方案适用,我无法让它工作。如何取回活动记录关系,以便可以在其上调用其他查询参数方法,即。A.b_tagged_with('tag').where(...) 其中 b_tagged_with 是一个命名范围
ruby-on-rails-3 - 我可以将这个 rails 计算推送到数据库中吗?
我试图通过在数据库中而不是在应用程序层中工作来提高我的应用程序的效率,我想知道我是否可以将这个计算移到数据库中。
楷模:
我想做的是计算报价的价格。目前我在 Offer 类中有一个 price 方法:
我怀疑可能可以进行Offer.sum
计算,而不是直接从数据库中获取答案,而不是遍历记录,但是ActiveRecord 查询指南的计算部分没有足够的细节来帮助我。有人吗?
谢谢!
yii - CGridview 和 Yii Active Record 的关系
我有以下结构的两个表 tbl_business 和 business_contacts:
和
场景是一个业务行有多个联系人。我正在使用 gii 的 CRUD 生成器使用 cGridview,并且需要为每个 tbl_business 记录显示来自 business_contacts(表中多个可能行之一)的名字和姓氏。
据我了解,我已将 tbl_business 模型中的关系函数更新为:
同样,在 business_contacts 模型中的联系关系定义为:
我希望这可以用于提取相关记录,这样我就可以在网格中有一些东西,比如 business_id、contact_firstname、contact_lastname ...... otherbusinesstablecolumns .. 但我只在 firstname 和 lastname 下得到空白值 .. 有人可以帮忙吗我明白错误吗?:(
active-record-query - 我可以在 ActiveRecord 中有一个独立的子句吗?
我想在我的两个查询中排除 where 子句,如下所示:
但 ActiveRecord 并不高兴。我认为您可以独立分解查询位。
ruby-on-rails - Rails 文本字段中的自然排序
我的相册列表如下:
当我按标题对它们进行排序时,我最终得到:
我希望他们在哪里:
我基本上想对标题进行自然排序,但要按字母自然排序。是否有任何类型的宝石可以为我正确执行此操作?
亲切的问候,尼尔
ruby-on-rails-3 - 多对多关系的活动记录查询
我有一个名为 Event 的模型和另一个名为 Product 的模型。一个事件有很多产品,一个产品有很多事件(通过名为 的连接模型Eventproduct
)。我正在尝试设计一个查询,该查询将选择在任何情况下都不与另一个事件的当前日期范围匹配的所有产品,因此当用户创建具有日期范围的事件时,它将显示可用的产品,以便同一产品不能同时参加 2 个活动。这是否可以通过活动记录查询界面实现,或者我需要编写自己的特定 SQL 查询。
我的迁移看起来像:
以下是相关模型: