如何查询与此相关的所有对象?

时间:2018-02-21 17:44:14

标签: ruby-on-rails

我有3个模型,UserHouseCar。如何通过单个查询找到拥有房屋或汽车的所有用户?以下是我的模型设置方式,以下是我目前正在做的相同结果。

class User
  has_many :houses
  has_many :cars
end

class House
  belongs_to :user
end

class Car
  belongs_to :user
end

尝试:

User.where(id: House.all.pluck(:user_id) + Car.all.pluck(:user_id)).distinct

不幸的是,这必须做3个查询,一个用于获取所有House user_ids,另一个用于Car user_ids,然后是最后一个用于获取用户。是否有创造性的方法来使用联接来查找所有拥有房屋或汽车的用户?

1 个答案:

答案 0 :(得分:1)

int? v1 = 100;
if (v1 is int v2)
{
    Console.WriteLine($"I'm not nullable anymore: {v2}");
}