【发布时间】:2014-08-26 13:14:01
【问题描述】:
是否可以在 Rails4 中使用 group by 和 counts 进行左外连接。我正在尝试编写一个范围,它将用户与消息、cmets 和 likes 表进行左外连接,然后按 id 分组以获得总数。如果没有关联,则计数应为零。
所以最终结果集将是 cuuser.*、message_count、likes_count 和 cmets_count。知道如何实现吗?提前致谢!
class Cuuser < ActiveRecord::Base
has_and_belongs_to_many :groups
has_many :messages
has_many :comments
has_many :likes
validates :username, format: { without: /\s/ }
scope :superusers, -> { joins(:comments, :likes).
select('cuusers.id').
group('cuusers.id').
having('count(comments.id) + count(likes.id) > 2')}
end
【问题讨论】:
标签: ruby-on-rails ruby activerecord ruby-on-rails-4