0

顧客モデルの呼び出しで次のクエリを使用して、目的の一連のトランザクションを取得しています。

  transactions = sub_account.transactions
  transaction_items = transactions.map{|transaction| [transaction.transaction_items]}

ただし、これはハッシュの配列の配列を返しています。レールコンソールから

[ [# <TransactionItem id: 29, amount: 20>, #<TransactionItem id: 35, amount: 40>],<br>
  [# <TransactionItem id: 31, amount: 30>, #<TransactionItem id: 38, amount: 30>],<br>
  [# <TransactionItem id: 43, amount: 30>, #<TransactionItem id: 21, amount: 40>],<br>
]

このプロセスはうまく機能します。しかし、今私は transaction_items で where クエリを実行しようとしていますが、配列に埋め込まれているため実行できません。これが、実行できない最終的な目的のクエリです。

transaction_items.where(:amount => 30).sum("amount")

配列を圧縮できることは知っていますが、解凍できますか? 私はそれに関するドキュメントを見つけることができません。解凍しない場合、埋め込み配列で動作するように where クエリを適応させることはできますか?

ありがとう。

4

1 に答える 1