2016-10-19 2 views
0

Привет У меня есть модель в моей базе данных Пользователь, пользователь может иметь ноль, один или несколько автомобилей. Я хочу найти всех Пользователей в моей базе данных с одним или несколькими автомобилями. На данный момент у меня есть логика, которая гласит:Поиск количества моделей с определенным атрибутом

@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

Спасибо, я буду принимать после 10 минут – user2320239

0

Для примера попробуйте joins с count:

User.joins(:cars).distinct.count 
+0

Это неправильно таким образом, что он не будет возвращать число 'User', но несколько объектов' Car', которые связаны хотя бы с одним пользователем –

Смежные вопросы