Rails 中的简单关联
Simple Association in Rails
我有两个模型。一辆driver和一辆汽车。 driver 可以拥有很多车。一辆汽车可以由许多 driver 人拥有。车型 has_many :drivers, through: :car_ownership
。这行得通,一切都很好。
但我想 return 所有只有 driver 的汽车,像这样:
@cars = Car.where.not(drivers: nil)
Car.first.drivers
return 都是 collection 的 Active Record 模型 Driver.
我想你想要这样的东西(假设你的 car_ownerships
table 有一个 driver_id
列):
Car.joins(:car_ownerships).where('car_ownerships.driver_id IS NOT NULL')
使用纯 Active Record,此查询将是:
Car.joins(:car_ownerships).where.not(car_ownerships: { driver_id: nil })
我有两个模型。一辆driver和一辆汽车。 driver 可以拥有很多车。一辆汽车可以由许多 driver 人拥有。车型 has_many :drivers, through: :car_ownership
。这行得通,一切都很好。
但我想 return 所有只有 driver 的汽车,像这样:
@cars = Car.where.not(drivers: nil)
Car.first.drivers
return 都是 collection 的 Active Record 模型 Driver.
我想你想要这样的东西(假设你的 car_ownerships
table 有一个 driver_id
列):
Car.joins(:car_ownerships).where('car_ownerships.driver_id IS NOT NULL')
使用纯 Active Record,此查询将是:
Car.joins(:car_ownerships).where.not(car_ownerships: { driver_id: nil })