Задать вопрос
@shumi

Как правильно составить запрос?

В общем суть такая:
Есть таблицы apps, users, download_requests, installs
Т.е. есть приложения, юзер может подать запрос на скачивание приложения (user has_many download_requests).
После подтверждения, создается install , в котором хранится user и app (install belongs_to user , install belongs_to app).
app has_many installs
user has_many installs
user has_many download_requests

---
Теперь что мне требуется.
Вывести все запросы на скачивание плюс для каждого запроса максимальное количество инсталлов у юзера по какому-либо из приложений.
Мне нужно сделать это одним запросом, использую актив рекорд это реализовал, но выходит очень медленный запрос.
Конкретно проблема в том, что нужно к выборке DownloadRequests.all для кажого добавить грубо говоря поле max_installs_count_for_any_app.
Что-то уже голову сломал =)
Буду рад предложениям.
  • Вопрос задан
  • 2397 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Viktor Vsk К ответам на вопрос (3)
viktorvsk
@viktorvsk
Если так описывать проблему, тут тоже все голову сломают.
Хотя бы скиньте связи всех этих моделей.
В чем проблема конкретно ? Вывести все запросы вы можете, дума? DownloadRequest.all
Количество инсталлов на юзера тоже можете? (Непонятно, как оно у вас устроено)
Если без SQL, просто map, select (действия над массивом) - так можете решить задачу? И проблема только в составлении оптимального запроса?
Ответ написан