【发布时间】:2021-11-17 11:32:49
【问题描述】:
class Invoice < ApplicationRecord
belongs_to :purchase
end
class Purchase < ApplicationRecord
has_many :invoices
end
发票有布尔“已付款”列。
由于 has_many,有时发票记录可能超过 1。 我想搜索“全部支付”、“部分支付”或“未支付”的购买记录。 如果发票记录为 3 条,其中一条已支付,表示“部分支付”
我怎样才能用 ApplicationRecord 创造这个条件?
我试过这样
joins(:invoices).where("invoices.paid": true)
但它也返回部分付费记录。
【问题讨论】:
-
专业提示:使用日期时间
paid_at列代替一块石头杀死两只鸟。
标签: ruby-on-rails ruby activerecord