将相关模型的范围应用于查询
Applying a scope from a related model to a query
我有两个模型,User
和 Payment
。一个 User
has_many
Payment
和一个 Payment
belongs_to
一个 User
.
我正在查询当月的所有付款,如下所示:
@payments = Payment.approved.current_month
但我需要排除超级管理员用户的付款,我的 User
模型中的范围为 :exclude_superadmins
,这将从 User
查询中排除所有用户超级管理员(由 User.permission_level
决定)。
我找不到将 :exclude_superadmins
User
范围链接到 Payment
查询的方法,因为它会导致
NoMethodError: undefined method `exclude_superadmins' for #<Payment
我尝试在查询中包含、加入和合并 table 用户,但均未成功。
看看merge。以下是有关如何在您的场景中使用它的示例。
@payments = Payment.joins(:users).approved.merge(User.exclude_superadmins)
我有两个模型,User
和 Payment
。一个 User
has_many
Payment
和一个 Payment
belongs_to
一个 User
.
我正在查询当月的所有付款,如下所示:
@payments = Payment.approved.current_month
但我需要排除超级管理员用户的付款,我的 User
模型中的范围为 :exclude_superadmins
,这将从 User
查询中排除所有用户超级管理员(由 User.permission_level
决定)。
我找不到将 :exclude_superadmins
User
范围链接到 Payment
查询的方法,因为它会导致
NoMethodError: undefined method `exclude_superadmins' for #<Payment
我尝试在查询中包含、加入和合并 table 用户,但均未成功。
看看merge。以下是有关如何在您的场景中使用它的示例。
@payments = Payment.joins(:users).approved.merge(User.exclude_superadmins)