gpt4 book ai didi

sql - Rails 3 HABTM 按记录关联模型属性查找

转载 作者:行者123 更新时间:2023-12-04 14:34:20 25 4
gpt4 key购买 nike

我认为这真的很基本,但我对 SQL 很糟糕,所以我不知道该怎么做...

我在两个模型 LandUse 和 Photo 之间建立了标准的 HABTM 关系。所以我有一个 land_uses_photos 连接表,每个模型都有标准的宏,比如:

Photo
has_and_belongs_to_many :land_uses

土地利用表有:ID 和 Name(字符串)。

我想找到土地使用名称 = '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

那么,我该如何进行这种查找呢?为了使它只有一个问题而不是两个问题,我怎么能找到一个“和”条件而不是一个“或”条件?

谢谢!

最佳答案

Photo.joins(:land_uses).where('land_uses.name' => ['foo', 'bar', 'baz'])

关于sql - Rails 3 HABTM 按记录关联模型属性查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5555106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com