您好我的数据库中有一个模型用户,用户可以拥有零个,一个或多个汽车。我想用一个或多个汽车找到我数据库中的所有用户。目前我有逻辑说:
@car_user_count
for user in Users.all do
if user.cars.count > 0
@car_user_count = @car_user_count + 1
end
这似乎是一种过于复杂的方式。我认为必须有办法做一些事情:
User.where(Cars.count > 0).all.count
但我似乎无法让它发挥作用,对此的任何帮助将不胜感激。
答案 0 :(得分:0)
我想在我的数据库中找到一个或多个汽车的所有用户。
User.includes(:cars).where.not(cars: { id: nil })
答案 1 :(得分:0)
对于您的示例,请使用joins
:
count
User.joins(:cars).distinct.count