问题标签 [activerecord-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.
ruby-on-rails - 模棱两可的表参考
这个问题看起来很简单,但我从来没有遇到过这样的问题。
以下是设置:
我需要了解是否有读者阅读帖子。
@post.reader_links.where('created_at >= ?', 45.minutes.ago).any?
效果很好。
@post.readers.where('created_at >= ?', 45.minutes.ago),any?
抛出一个模棱两可的表列错误,因为混淆了该created_at
列是指reader对象还是reader_link对象。发生这种情况是因为阅读器的类实际上是用户。如何查询45 分钟前由 reader_links 创建的读者?
我正在寻找类似的东西..
@post.readers.where('reader_link.created_at >= ?', 45.minutes.ago)
ruby-on-rails - 如何将 arel 对象合并到 ActiveRecord::Relation 链中?
我知道如何将以下内容转换为使用严格的 Arel 方法,而不是混合 sql/string,但我不知道如何将生成的 arel 对象合并到 ActiveRecord::Relation 中,以便我可以在其上链接更多 AR::Relation 方法.
对于我之前的问题,我得到了以下非常有用的答案:
我试图做这样的事情:
但我最终得到了一个 arel 对象,我不知道如何将它与以下 ActiveRecord::Relation 合并:
Person.joins(:address).merge(Address.anywhere(query_term))
(更不用说注入也不是很优雅——我该如何改进呢?)
sql - 使用 Select 调用的双嵌套联接的 Rails 活动记录查询
我有以下架构:
照片has many
组has many
用户。
我使用这个 Rails 服务器作为 iOS 应用程序的后端,并且在添加照片时需要不断地向组中所有相关用户推送通知。
我的问题是找到最便宜的查询来解决User.ids
受影响的问题。
到目前为止我有
我知道我必须在此之后放置一个选择参数,但无法弄清楚我一生的语法。
给定一张照片,我正在寻找最有效的方法来查找受影响的用户 ID 的集合。
任何帮助将非常感激!!!
ruby-on-rails - How to delete objects through a named scope?
There is a join table with three columns: id
, product_a_id
, product_b_id
I would like to filter the table by a specific product regardless in which column the product id is contained. How can I write a named scope which respects that a product
can be nil
? The following draft is inspired by a post by Zack Holman though it does not work:
Then I would like to know how I can delete all products returned in the ActiveRecord::Relation
?
ruby-on-rails - 从无表模型返回 ActiveRecord::Relation
在我的应用程序(Rails 4)中,用户模型不存储在“本地”数据库中,而是在后台应用程序中。
因此,我使用无表模型(使用来自 softace / activerecord-tableless 的 gem),并且我有一个模块“ApiUser”来访问我的后台。
用户模型(无表)使用此模块进行后台的每个操作(读取或写入数据......)。
在我的模型中,我实现了一个“全部”方法(以及 API 中用于从后台检索数据的相应函数)。目前,在模型中,我通过执行('result[:user]' 是模块检索到的数据)
创建了一个填充有数据的数组。
它工作得很好,但我与其他模型有关系(has_many),并且一些自动功能在关系上不起作用(,,... )。result[:user].each { |user| users << User.new(user) }
each
index_by
map
我的问题是:如何像真正的 ActiveRecord 模型一样模拟 ActiveRecord::Relation?
(也许反序列化?但我没有发现任何有用的东西。我还阅读了 RailsCasts 239 关于 ActiveRecord 关系,但它没有帮助我)
谢谢
ruby - Rails 结合了多个 activerecord 关系
我想联合多个活动记录关系
例如,
我想结合这两种关系。
不合并,合并是 apple_companies.merge(banana_companies) => Company.where("name like ? and name like ?", "%apple%","%banana%")
我想 Company.where("name like ? or name like ?", "%apple%","%banana%")
之后,
我会编码
但是我写的代码使公司排列起来......
所以我不能向公司订购和寻呼...... :(
谢谢你
ruby-on-rails - 无需任何方法或使用 `all()` 生成 ActiveRecord::Relation
看似简单的问题。
我正在尝试ActiveRecord::Relation
从模型构建对象而不使用where()
. 例如:
您可以看到,如果参数中既不设置active
或smokers
也不设置,@people 只是模型,而不是ActiveRecord::Relation
.
我可以all
在结束时继续,return @people
但必须有更好的方法。
想法?
ruby-on-rails - Rails 4 模型方法求和
在我的应用程序中,我有一个User
带有goal_ytd
方法的模型,可以执行一些计算。
在控制器中,我有一个@users
可能是User
或 的ActiveRecord::Relation
变量,users
我想对所有的@users
s求和goal_ytd
。
我的第一个倾向是:
这在这两种情况下都引发了弃用警告,因为在 Rails 4.1 中使用sum
on anActiveRecord::Relation
正在消失。
因此,我将代码更改为:
然后抛出一个NoMethodError
,因为在某种情况下,@users
被分配@users = User
并且User
没有to_a
方法。
分配@users
using@users = User.all
会引发弃用警告,因为Relation#all
也已弃用。
有没有办法把所有的都Users
作为一个数组?有没有更好的办法?
sql - ruby 查询没有得到符号 - 或 /
我有下一行代码:
问题是查询的结果显示我是否只使用“2014”进行查询,并且对于“2014-11-20”和“2014 11 20”也是如此。就像它将此符号作为查询的结束或其他东西一样。
ruby-on-rails - 覆盖特定模型 Rails 4.2 的 update_all 方法
我需要覆盖 rails update_all 方法,以便更新特定模型的 updated_at 字段。
我在 app/config/initializer/xyzfile.rb 添加了以下模块:
我想将其用于特定型号,我该怎么做?
- 在每个 update_all 中添加 updated_at 是解决方案之一,但我正在寻找一个可以覆盖 update_all 方法的解决方案。