问题标签 [active-relation]

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

ruby-on-rails - 如何在 Rails 3 中搜索 has_many 关联(meta_where 或 railslogic?)

我有一个名为 UserHasMessages 的模型,其中:

User.rb 模型是:

我想查找关联的 UserHasMessages 的 Message_id 为 @message.id 的用户

我尝试过这样的事情(使用搜索逻辑)但它没有用,并且不知道从哪里开始 meta_where:

0 投票
2 回答
167 浏览

ruby-on-rails - 为什么/如何只能通过 Rails 3 中的关联访问记录数组的类方法?

考虑一个简单的例子,我们有 2 个模型,文章和类别。

现在,在 rails 控制台上:

正如预期的那样返回错误

但是当我这样做时

返回一组记录!

这会提示检查类

都返回Array类。

显然,Article 的类方法“search”在运行时被引入,并在通过其关联(Category)访问时提示记录的“正确”返回,但在被类本身访问时(Article)表现不同。

那么,发生了什么事?

0 投票
3 回答
6640 浏览

ruby-on-rails - Rails/Arel:选择所有记录作为 ActiveRecord::Relation

在 Rails 中使用 Arel - 我正在寻找一种创建ActiveRecord::Relation有效结果的方法SELECT * FROM table,我仍然可以进一步操作。

例如,我有一个分成多个类别的模型,我以下列方式返回这些类别的计数:

这很好用,并且具有COUNT向 MySQL 发起查询的优势,而不是实际选择记录本身。

但是,我现在需要在计数中包含存档记录,但relation = Model.all结果是Array,我正在寻找ActiveRecord::Relation.

我能想到的唯一方法是model.where(model.arel_table[:id].not_eq(nil)),它有效,但似乎有点荒谬。

任何人都可以对此有所了解吗?

0 投票
1 回答
572 浏览

sql - Rails 3 ActiveRelation 在连接上添加“is null”......我该如何阻止它这样做?

我正在尝试我的第一次加入,它生成的 sql 非常奇怪。

我有一个收件人属于一个用户。我正在尝试查询所有未读取且未删除的用户的收件人:

这是它生成的sql:

有什么办法可以摆脱“IS NULL”?那不应该在那里:(

我曾尝试在 google 上搜索,实际上 95% 的示例都没有谈论连接,这真的很神奇。我发现的几个连接示例使用了已被贬低的 & 语法。与其他内容相比,这方面的文档实际上非常糟糕。确实很奇怪。

无论如何,我无法让它工作。当您开发软件 19 年并且无法让 sql 加入单个表时,这绝对不是一个好日子 :( 我可以在 sql 中编写具有 15 个联接的查询,手动没有问题。我想这就是你付出的代价有时当你经历并学习新的框架时。虽然在 Hibernate 中这并不奇怪:/

0 投票
7 回答
5819 浏览

ruby-on-rails - Rails 3:如何获取所有 ID 不在给定列表中的帖子?

要获得publisher_id等于 10、16 或 17 的所有帖子,我会:

我如何获得publisher_id 不等于 10、16或 17 的所有帖子(即除了这三个之外的所有可能的 id)?

0 投票
2 回答
135 浏览

ruby-on-rails - 如何按“total_content_length”和最近的帖子对论坛用户进行排序?

我想对论坛的用户进行排序total_content_length。为了获得n论坛中的顶级作家,我这样做:

现在,问题是当有两个(或更多)用户具有相同的total_content_length. 在这种情况下,我想优先考虑最近创建帖子的用户。

Postpublisher_id字段(这是一个用户id)。

你会怎么做?

0 投票
2 回答
2674 浏览

ruby-on-rails - 排除活动关系中的条件,如何?

我正在寻找一种相反的方法:

就像是 :

我找到了这篇文章。但是,find(:all, :conditions => {})现在在 rails 3 中已弃用,此外,我认为必须存在一种更清洁的方法来做到这一点。

有什么建议吗?

0 投票
1 回答
183 浏览

ruby-on-rails - Rails3 对主动关系感到困惑

我已经检查了这方面的文档,但我仍然有点困惑。我的目标是返回@mom 上的内容字段。但它因未定义的方法“内容”而失败。@goals 有效。我对@mom 缺少什么,我怎样才能让它发挥作用?

项目控制器.rb

显示.html.erb

楷模

0 投票
1 回答
176 浏览

ruby-on-rails - 如何在 Rails 3 Active Record Query 中同时选择对象和计数?

如何在活动查询中执行此类操作?

我在主动查询中试过这个:

我返回的结果集仅包含按正确计数顺序排序的产品,但没有计数值。我做了一个 .to_sql 并返回正确的 sql。

如何在数据库上高效的同时执行此操作或类似操作?

另一个相关的问题是,我如何在活动查询中进行.select("product.*)or ?.group("product.*")现在我必须列出每个字段,例如。.group("product.id, product.name, product.price...etc")

0 投票
1 回答
2006 浏览

ruby-on-rails-3 - Rails :include 不包括

我的模型:

如果我运行以下查询,emails则会按预期返回:

但是,尝试:include建立关系不会:

如您所见,正在执行 SQL,但没有返回电子邮件。我打算返回所有包含每个包含电子邮件的联系人,所以:joins不会有任何好处。我错过了什么?