Нужна помощь, чтобы понять идею написания сложного запроса в рельсы активной записи - PullRequest
2 голосов
/ 18 марта 2012

Мне нужно руководство, чтобы понять логику написания сложных запросов в рельсах.

У меня три модели

Business

  has_many :customers
  has_many :transactions

Customer
  has_many :transactions
  belongs_to :business

Transaction
  belongs_to :businesss
  belongs_to :customer
//transaction model has a attribute amount which tells how much amount has been spent in this particular transaction.

enter image description here

Теперь мне нужно реализовать фильтр следующим образом. Я публикую скриншот, потому что это будет легко понять.

Редактировать

Каждая транзакция означает посещение. Общая сумма потраченных средств - общая сумма потраченных средств.

1 Ответ

1 голос
/ 18 марта 2012

Я сомневаюсь, что есть изящное решение с одним запросом, которое будет использовать возможности AR.Но даже если таковой имеется, для повышения производительности вам придется создать представление материала или сводную таблицу для общих значений рейтинга.Таким образом, предполагая, что у вас есть вид материала total_spent_ranking(customer_id, rank), вы могли бы сделать обычный AR запрос:

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