class User < ActiveRecord::Base
has_many :roles
has_many :allocations, class_name: 'Project', inverse_of: :user
end
class Role < ActiveRecord::Base
belongs_to :user
end
class Project < ActiveRecord::Base
belongs_to :user, inverse_of: :allocations
end
Я хочу найти тех пользователей, у которых нет выделения, а также чье start_date
для размещения меньше, чем сегодня.
Мне нужно найти его из коллекции Role
объектов. Я пытаюсь определить область для того же. Как объединить оба условия в одном запросе на активную запись?
Сейчас я делаю это отдельно.
Чтобы найти пользователей без выделения ресурсов, я попробовал следующее:
@roles.includes(user: :allocations).where({ allocations: { user_id: nil }})
@roles.includes(user: :allocations).group('user.id').having('count(user.allocations) = 0')
Кажется, никто из них не работает для меня.