Guest User

Untitled

a guest
Jun 20th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. class User < ActiveRecord::Base
  2.  
  3. module Friends
  4.  
  5. def common(user)
  6. # Define code here
  7.  
  8. end
  9. end
  10.  
  11.  
  12. has_and_belongs_to_many :friends,
  13. :class_name => 'User',
  14. :association_foreign_key => 'friend_id',
  15. :join_table => 'friends_users',
  16. :extend => User::Friends
  17.  
  18. def self.find_common(u1, u2)
  19. find_by_sql([<<-EOM, u1.id, u2.id])
  20. SELECT u.*
  21. FROM users u
  22. LEFT JOIN friends_users fu1 ON fu1.user_id = ? AND fu1.friend_id = u.id
  23. LEFT JOIN friends_users fu2 ON fu2.user_id = ? AND fu2.friend_id = u.id
  24. WHERE fu1.user_id IS NOT NULL AND fu2.user_id IS NOT NULL
  25. ORDER BY u.first_name
  26. EOM
  27. end
  28. end
Add Comment
Please, Sign In to add comment