У меня в приложении Rails 6 есть следующие модели:
class Client < ApplicationRecord
belongs_to :account
has_many :people
end
class Person < ApplicationRecord
belongs_to :client
end
class Payment < ApplicationRecord
belongs_to :client
end
В моем SharesController
я пытаюсь сгенерировать общие платежи для каждого client
и показать их как диаграмму ap ie:
class SharesController < ApplicationController
def index
@clients = current_account.clients.joins(:payments)
.where(:payments => {:date => @range, :currency => @currency})
.order("sum_payments_#{@part} DESC")
.group("clients.id", "clients.name")
.having("sum_payments_#{@part} > 0")
.sum("payments.#{@part}")
end
end
Проблема с этим в том, что он группируется по client
правильно. Однако вместо того, чтобы показывать name
каждого клиента, я хочу показать last_name
первого вложенного person
каждого клиента.
Как это можно сделать?
Спасибо за любую помощь.