Hello,
Somehow I just can''t seem to organise this in my head. So far I have
three tables/models.
Group
id
GroupCategory
id, name
GroupCategoryValue
group_category_id
group_id
value
So a group has many group_category_values which hold values for the
categories which the group is associated with.
What I want to do is:
Find all groups which, given an hash of (group_category_id''s and
values) have every group_category and every value.
For example
Group
(:id => 1, :name => Iain''s group)
(:id => 2, :name => Another group)
GroupCategories
(:id => 1, :name => Category1)
(:id => 2, :name => Category2)
(:id => 3, :name => Category3)
GroupCategoryValues
(:group_id => 1, :group_category_id => 1, :value => "hello")
(:group_id => 1, :group_category_id => 2, :value => "my")
(:group_id => 1, :group_category_id => 3, :value => "world")
(:group_id => 2, :group_category_id => 1, :value => "hello")
(:group_id => 2, :group_category_id => 2, :value => "my")
(:group_id => 2, :group_category_id => 3, :value => "mum")
So if I gave the method {1 => "hello", 2 => "my"} both
groups 1 and 2
should be returned
but if I gave the method {1 => "hello", 2 => "my", 3
=> "mum"} only
group 2 should be returned.
Any ideas how to do this nicely? I tried using several methods and
just got confused.
Also, the reason I want to do it in an sql/find way is because the
resulting groups need paginating with the will_paginate plugin?
hope you can help
Iain
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---