【发布时间】:2015-04-29 08:33:05
【问题描述】:
我有这些表
clients
----------
-id
-full_name
payments invoices
------------- ----------
-id -id
-payable_id -client_id
-payable_type
credits
----------
-id
-client_id
由这些模型支持:
支付模式:
belongs_to :payable, polymorphic: true
客户端模型
has_many :invoices
has_many :credits
has_many :payments, as: :payable
发票/信用模型
belongs_to :client
has_many :payments, as: :payable
一个client可以有多个payments:
- 直接付款
- 向客户文件付款(发票/信用)
我的问题是如何在 active_relation 对象中获取客户付款(直接 AND 通过文档),以便对结果进行分页?
【问题讨论】:
-
如何重新设计数据库结构以在付款中同时包含 client_id 和 invoice_id(对于直接付款可以为空)并摆脱多态关联?它会变得非常简单。
标签: sql ruby-on-rails pagination