Hi,

Is it possible to do a left outer join in Rails4. This is my model and I am
trying to write a scope which will do a left outer join of users with the
message, comments and likes tables and then group by id to get total count.

So the final result set would be cuuser.*, message_count, likes_count and
comments_count. Any idea how this can be accomplished? Thanks in Advance!

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

Thanks,
Ganesh

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/CALFmRoHj%3DqyX5wjjB2s5rTuQuT7smrbWQ4D%3D_UyWUhD5-yu%3DRw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to