serialize array finder

Hello,

Not sure if this is even possible/practical but I'd like to serialize an array to a string field like this and then be able to match against it.

User.find(:all, :conditions => ["interests in (?)",current_user.interests)

Am I better of not denormalizing? How would this be done with ordinary A/R relationships because I'm not looking for an exact match, I'm looking for any interests that the users have in common (more like a ranking)

GP

Grayson Piercee wrote:

User.find(:all, :conditions => ["interests in (?)",current_user.interests)

Here's a wild guess. I hope someone else corrects it if I have lead you astray!

User.find(:all, :include => :interests,    :conditions => ["interests.id IN (?)",current_user.interests]    :order => 'COUNT(interests.id) DESC')

(At work we have taken to putting all raw SQL commands in ALL CAPS...)

Phlip wrote:

Grayson Piercee wrote:

User.find(:all, :conditions => ["interests in (?)",current_user.interests)

Here's a wild guess. I hope someone else corrects it if I have lead you astray!

such as...

  User.find(:all, :include => :interests,      :conditions => [ "interests.id IN (?)",                        current_user.interests.map(&:id) ]      :order => 'COUNT(interests.id) DESC')

and use inspect_sql to see the query it generates!