Rails ActiveRecord query - лучший возможный способ реализовать запрос внутри модели - PullRequest
1 голос
/ 21 февраля 2012
SELECT  user_id, investments, expenditures
FROM    ( SELECT  user_id, SUM(amount) investments
          FROM    transactions
          where   beneficiary_id is not null
          group    by user_id) A JOIN ( SELECT  beneficiary_id, SUM(amount) expenditures
                                        FROM    transactions
                                                where   beneficiary_id is not null
                                                group   by beneficiary_id) B
ON      A.user_id = B.beneficiary_id"

Каков наилучший из возможных способов записи метода активной записи с использованием метода find? Идея здесь состоит в том, чтобы использовать меньше активных методов записи SQL и больше рельсов. Я знаю, что это можно реализовать с помощью find_by_sql, но я ищу более рельсовый способ сделать это.

Транзакции - это модель со следующей структурой

txndate: Дата и время идентификатор_пользователь: целое число, beneficiary_id: целое число, количество: десятичное,: точность => 14,: масштаб => 2

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 21 февраля 2012

Я не уверен, и немного растерялся, но, может быть, вам просто нужны прицелы? http://edgerails.info/articles/what-s-new-in-edge-rails/2010/02/23/the-skinny-on-scopes-formerly-named-scope/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...