1

我正在使用 PostgreSQL 的继承功能来建模我的数据,并且我需要ONLY在某些 ActiveRecord 模型的查询中使用关键字。例如,我想Shift.all调用SELECT shifts.* FROM ONLY shifts. 否则,它也会从子assigned_shifts表返回结果。

据我所知,没有简单的可配置方法可以做到这一点。我已经尝试set.table_name = 'ONLY shifts'过 ActiveRecord 模型,但这会产生错误,因为它会添加'ONLY shifts'.*SELECT语句中。

有没有办法给 Arel 或 ActiveRecord 打补丁来构建我需要的查询?

4

1 回答 1

5

我自己找到了答案。

为后代:

class Shifts < ActiveRecord::Base
  default_scope -> { from("ONLY shifts") }
end
于 2013-10-23T16:09:49.033 回答