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中的关联查询应该使用c ount with group by ... 如何使用rails实现这个功能?
更新
- 我不能改变表结构
- 我想AR为用户生成的收藏集查询与包括
UPDATE2
我知道SQL我知道如何选择与连接,但我的问题是现在“如何获取数据”。我的问题是关于建立我可以用于包含的关联。由于
UPDATE3 我试图创建关联创建,如用户HAS_ONE ticket_count,但
- 看起来像HAS_ONE不支持扩展关联
- HAS_ONE不支持:组选项
- HAS_ONE不支持finder_sql
rails 3.2给了我ArgumentError:未知的键:sql – Fivell 2012-02-21 07:39:40
has_one有下一个选项[:class_name,:foreign_key,:select,:conditions,:include,:extend,:readonly,:validate,:remote,:dependent,:counter_cache, :primary_key,:inverse_of,:order,:as,:autosave] – Fivell 2012-02-21 07:41:49
@Fivell,更新了答案。我应该使用'finder_sql'而不是'sql'。我已经更新了我的答案,看看。 – 2012-02-21 08:19:41