Есть ли способ извлечь все записи таблицы с тем же значением столбца, вычисляя сумму другого столбца? - PullRequest
0 голосов
/ 17 апреля 2020

Я новичок в рельсах, и у меня есть таблица с названием Orders. Внутри у меня есть эти записи.

#<Order id: 1, amount: 12, number:"1234">, 
#<Order id: 2, amount: 19, number:"1234">, 
#<Order id: 3, amount: 23, number:"1234">,  
#<Order id: 4, amount: 12, number:"13233">

Я хочу извлечь из одной записи все заказы, имеющие одинаковый числовой атрибут, для которого для атрибута количества будет использоваться сумма всех соответствующих сумм извлеченных записей.

Как это можно сделать на рельсах?

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

Возвращается значение Ha sh с числовым столбцом в качестве ключа и соответствующей суммой в качестве значения.

 Order.group(:number).sum(:amount)
0 голосов
/ 17 апреля 2020

Вы можете сделать это следующим образом:

  1. Найти все заказы, чей номер похож на "1234"

    orders = Order.where (номер: "1234")

  2. Выберите из него единственную сумму

    orders.pluck (: amount) .sum

Вы получите сумму все суммы

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