Я думаю, что это действительно просто, но я ужасен с SQL, поэтому понятия не имею, как это сделать ...
У меня есть стандартные отношения HABTM между двумя моделями, LandUse и Photo.Итак, у меня есть таблица присоединения land_uses_photos, и у каждой модели есть стандартный макрос, например:
Photo
has_and_belongs_to_many :land_uses
Таблица землепользования имеет: ID и Имя (строка).
Я хочунайдите фотографии, где название землепользования = «foo», «bar» или «baz».Как мне это сделать?
Я посмотрел на этот вопрос и попытался:
Photo.includes(:land_uses).where('land_use.id'=>[6,7])
... но это дало мне:
ActiveRecord::StatementInvalid: No attribute named `id` exists for table `land_use`
Это фальшивка, вот schema.rb как для LandUse, так и для таблицы соединений:
create_table "land_uses", :force => true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
t.integer "display_order"
end
create_table "land_uses_photos", :id => false, :force => true do |t|
t.integer "land_use_id"
t.integer "photo_id"
end
Итак, как мне сделать этот тип поиска?И чтобы задать только один вопрос вместо двух, как я могу найти с условием «и» вместо только с условием «или»?
Спасибо!