2015-06-17 2 views
1

Скажем, у меня есть GroupUser s и User есть перечисление, в котором описано его настроение.рельсы has_many хотя бы один ребенок имеет значение

Как я могу найти все группы, где по крайней мере один User имеет хорошее настроение?

Какой индекс я должен добавить для оптимизации этого запроса?

ответ

1

Вы можете использовать метод joins.

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

Вы можете добавить это в вашей миграции

add_index :users, :group_id 
+0

Какой индекс я должен добавить? – asiniy

+0

означает ??? .......... –

+0

Существует метод 'add_index'. Какие столбцы следует добавить для ускорения запроса? – asiniy