arel相关内容

Rails/Arel:选择所有记录作为 ActiveRecord::Relation

在 Rails 中使用 Arel - 我正在寻找一种创建 ActiveRecord::Relation 的方法,它可以有效地生成 SELECT * FROM table,我仍然可以操纵它进一步. 例如,我有一个分为多个类别的模型,我通过以下方式返回这些类别的计数: relation = Model.where(:archived => false) # 所有非存档记录记录计数 = {:总计 ..
发布时间:2021-12-23 15:16:47 其他开发

如何从 Rails 中的查询中排除一组 id(使用 ActiveRecord)?

我想执行一个 ActiveRecord 查询,该查询返回除具有特定 ID 的那些记录之外的所有记录.我想排除的 id 存储在一个数组中.所以: ids_to_exclude = [1,2,3]array_without_excluded_ids = 项目.??? 我不知道如何完成第二行. 背景:我已经尝试过的: 我不确定背景是否必要,但我已经尝试了 .find 和 .where 的 ..
发布时间:2021-12-23 14:59:27 其他开发

Rails 3.0 中的 Arel 到底是什么?

我知道它是 ActiveRecord 的替代品,并且它使用对象而不是查询. 可是…… 为什么这样更好? 对象/查询会“更容易"创建吗? 它会导致更高效的 SQL 查询吗? 它会与所有主要的数据库兼容吗?- 我想会的. 使用存储过程会更容易/更难吗? 解决方案 Rails 3.0 中的 Arel 到底是什么? 它是关系查询运算符代数的对象模型. ..
发布时间:2021-12-23 14:55:39 其他开发

将 ActiveRecord habtm 查询转换为 Arel

我有一个很常见的habtm关系: 照片 has_and_belongs_to_many :tags标记 has_and_belongs_to_many :照片 在我的照片模型中,我有一个“带标签"的方法,我用它来查找用一组给定的 tag_id 标记的照片.此查询只需要匹配具有所有给定标签的照片,但不考虑是否存在任何其他标签.这是我的方法: def self.with_terms( array ..
发布时间:2021-12-23 14:53:45 其他开发

带有别名表名的 ActiveRecord 查询

使用包含范围的模型问题,知道嵌套和/或自引用查询是可能的,编写这些问题的最佳方法是什么? 在我担心的一个问题中,我的范围与这些类似: scope :current, ->(as_at = Time.now) { current_and_expired(as_at).current_and_future(as_at) }范围 :current_and_future, ->(as_at = T ..
发布时间:2021-12-23 14:51:35 其他开发

单个查询中的多个 CTE

是否可以使用 arel 在单个查询中组合多个 CTE?我正在寻找获得这样的结果的方法: WITH 'cte1' AS (...),带有递归 'cte2' AS (...),WITH 'cte3' AS (...)选择...从'cte3'哪里... 如您所见,我有一个递归 CTE 和两个非递归. 解决方案 在顶部使用关键字WITH once.如果您的任何公共表表达式 (CTE) 是递归的 ..

ActiveRecord Arel OR 条件

如何使用逻辑 OR 而不是 AND 来组合 2 个不同的条件? 注意: 2 个条件是作为 rails 作用域生成的,不能轻易地直接更改为 where("x or y") 之类的内容. 简单例子: admins = User.where(:kind => :admin)作者 = User.where(:kind => :author) 很容易应用 AND 条件(对于这种特殊情况是没有 ..
发布时间:2021-12-02 12:32:47 其他开发

使 Rails #destroy_all 运行得更快

我想运行Alarm.destroy_all,但是,每个警报都与许多AlarmEvent相关联,而每个AlarmEvent又与许多相关联AlarmEvent::Measurements,两个关联都标记为 :dependent=>destroy 所以,当我调用 Alarm.destroy all 时,这个调用需要很长时间才能运行.有什么办法可以让它更快吗?怎么样? 到目前为止,我已经尝试过 ..
发布时间:2021-10-26 16:33:56 其他开发

ActiveRecord:不能在具有急切加载关联的`where` 子句之后使用`pluck`

我有一个应用程序,它有多个 Post 模型,每个模型 belongs_to 一个 User 模型.发布这些帖子后,会创建一个 PublishedPost 模型,该模型belongs_to 相关的 Post 模型. 我正在尝试构建一个 ActiveRecord 查询来查找与用户名匹配的已发布帖子,然后获取这些已发布帖子的 ID,但是当我尝试使用 pluck 方法在预先加载我的关联并使用 whe ..
发布时间:2021-10-26 16:33:53 其他开发

如果关联具有限制子句,则关联关系属性上的 Rails 总和不正确

我有一种方法可以计算模型中许多浮点属性的统计数据(主要是总和). 模型 class GroupPlayer 提供最多 4 个浮点属性的统计数据的方法,这些属性是从其他方法调用的,具体取决于我是获取一个玩家还是一组玩家的统计数据.ScoredRound 上的初始过滤器传递给方法 (sr) def method_stats(method,sr,grp)rounds = sr.where. ..
发布时间:2021-07-13 19:52:56 其他开发

Rails 使用散列数组查找记录

(使用 in 子句按字段对选择查询) 我有一个看起来像这样的哈希数组: [ {product_id: 7629, group_id: 4}, {product_id: 8202, group_id: 3} ] 我想返回的是 Items 表中匹配数组中字段对的所有记录. 在 SQL 中,它会像这样检索: SELECT *来自项目WHERE (product_id, grou ..
发布时间:2021-07-13 19:51:07 其他开发