我的 Rails 应用程序中有以下情况。有两种模型,比如说用户和公司:
class User < ActiveRecord::Base
belongs_to :company
default_scope -> {where(removed_at: nil)}
end
和
class Company < ActiveRecord::Base
has_many :users
end
我现在想要的是加载公司记录并包括用户
Company.unscoped.all.includes(:users)
什么将导致对包含默认范围的用户表的查询。因此,我获得了预取所有未删除用户的公司记录。但在这种情况下,我也希望 remove_at 不为空的用户(=> 删除的用户记录)。“unscoped”方法仅适用于 Company 模型,不适用于 User 模型。
有没有办法做到这一点?感谢您的任何想法!