【发布时间】:2011-04-05 16:22:43
【问题描述】:
我认为这真的很基本,但我对 SQL 很糟糕,所以我不知道该怎么做...
我在 LandUse 和 Photo 这两个模型之间有一个标准的 HABTM 关系。所以我有一个land_uses_photos 连接表,每个模型都有标准宏,比如:
Photo
has_and_belongs_to_many :land_uses
土地利用表有:ID,和Name(string)。
我想查找土地使用名称 = 'foo'、'bar' 或 'baz' 的照片。我该怎么做?
我看了this question 并尝试了:
Photo.includes(:land_uses).where('land_use.id'=>[6,7])
...但这给了我:
ActiveRecord::StatementInvalid: No attribute named `id` exists for table `land_use`
这是假的,这是 LandUse 和连接表的 schema.rb:
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
那么,我该如何进行这种查找呢?为了让它只有一个问题而不是两个问题,我怎么能找到一个“和”条件而不是一个“或”条件?
谢谢!
【问题讨论】:
标签: sql ruby-on-rails ruby-on-rails-3 has-and-belongs-to-many