У меня есть 3 модели:
Статистика (принадлежит_элементу)
t.integer :skin_id
t.integer :item_id
t.integer :rating
Item (has_many: stats)
и
Скин (has_many: stats)
Использование inking_sphinx Я хочу создать отдельный индекс для элементов, отсортированных по: рейтингу для конкретного: skin_id
Итак, я пытаюсь:
define_index 'sort_by_rate' do
indexes stats(:rating), :as => :ratings, :sortable => true
end
Но это создаст индекс для всех: skin_id (в модели Stat), а не для конкретного.
Другими словами, мне нужно собрать все элементы, отсортированные по Stat.rating, со Stat.skin_id == 1 (например).
Вот пример SQL:
"SELECT `stats`.* FROM `stats` INNER JOIN `items` ON `items`.`id` = `stats`.`item_id` WHERE `stats`.`skin_id` = 1 ORDER BY rating DESC"
Любые решения очень ценятся!