rails has_many至少有一个孩子有价值

时间:2015-06-17 17:11:42

标签: sql ruby-on-rails ruby ruby-on-rails-4 activerecord

假设我有Group User个,而User有一个枚举,用来描述它的情绪。

class Group < AR::Base
  has_many :users

class User < AR::Base
  belongs_to :group
  enum mood: %i(good bad ugly)

如何查找至少有一个User心情愉快的所有群组?

我应该添加哪个索引来优化此查询?

1 个答案:

答案 0 :(得分:1)

您可以使用joins方法。

Group.joins(:users).where("users.mood = ?", User.moods[:good])

您可以将其添加到迁移中

add_index :users, :group_id