我有三个型号。他们就像下面
class User < ApplicationRecord
has_one :shop
has_one :address
end
class Shop < ApplicationRecord
belongs_to :user
end
class Address < ApplicationRecord
belongs_to :user
end
地址模型有state_id列。现在我想让商店所有者address.state_id
的所有商店都是123456。
答案 0 :(得分:1)
Shop.joins(user: :address).where(addresses: { state_id: 123456 })
答案 1 :(得分:1)
您可以通过Shop
描述Address
和User
的关系。像这样:
# models/shop.rb
class Shop < ApplicationRecord
belongs_to :user
has_one :address, through: :user
end
然后你可以发出一个简单的电话:
Shop.includes(:address).where(addresses: { state_id: 123456 })