Ruby on rails 每个环路轨道的活动记录分组依据
我正在对活动记录应用GROUPBY,然后执行每个操作以从哈希访问记录 下面是我的代码Ruby on rails 每个环路轨道的活动记录分组依据,ruby-on-rails,ruby,activerecord,group-by,Ruby On Rails,Ruby,Activerecord,Group By,我正在对活动记录应用GROUPBY,然后执行每个操作以从哈希访问记录 下面是我的代码 invoice_transactions.group_by(&:paymentable_id).each do |invoice_id, transactions| invoice = Invoice.find invoice_id transaction_details = get_transactions(transactions, timezone) invoice_details.p
invoice_transactions.group_by(&:paymentable_id).each do |invoice_id, transactions|
invoice = Invoice.find invoice_id
transaction_details = get_transactions(transactions, timezone)
invoice_details.push({
customer_name: invoice&.customer&.fully_qualified_name&.strip})
在这里,我需要在单独的一行中按发票id查找发票
invoice = Invoice.find invoice_id
我的问题是,我如何才能找到与组在同一行中的发票,而不是通过获取发票id来获取发票对象,并且不需要在第二行中查找
差不多
invoice_transactions.group{|paymentable_id| Invoice.find paymentable_id}.each do |invoice, transactions|
谢谢对不起!你必须这样做。不,我明白了,我们可以通过发票交易来做。通过{[I]发票进行分组。查找I.paymentable\u id}。每个人都做发票,交易,最终你会做同样的事情。最好以当前方式进行。如果在
InvoiceTransaction
和Invoice
之间有paymentable
关联,则可以像Invoice\u transactions.groupby(&:paymentable)
那样进行操作,它将使用paymentable
对象本身作为散列键