例子
class User
has_many :tickets
end
我想创建包含用户计数票逻辑的关联并将其用于包含(用户 has_one ticket_count)
Users.includes(:tickets_count)
我试过
has_one :tickets_count, :select => "COUNT(*) as tickets_count,tickets.user_id " ,:class_name => 'Ticket', :group => "tickets.user_id", :readonly => true
User.includes(:tickets_count)
ArgumentError: Unknown key: group
在这种情况下,include 中的关联查询应该使用 count 和 group by ...我如何使用 rails 来实现这个?
更新
- 我无法更改表结构
- 我希望 AR 为包含包含的用户集合生成 1 个查询
更新2
我知道 SQL 我知道如何通过连接选择它,但我现在的问题是“如何获取数据”。我的问题是关于我可以在包含中使用的建立关联。谢谢
Update3 我尝试创建像用户 has_one ticket_count 一样创建的关联,但是
- 看起来 has_one 不支持关联扩展
- has_one 不支持 :group 选项
- has_one 不支持 finder_sql