У меня есть таблица счетов и таблица строк. Я хочу иметь возможность вернуть общую сумму счета, когда получу список счетов в действии индекса. Поэтому я хотел бы вернуть поле Invoice, LineItems и общее значение поля LineItems.price как Total.
Текущий код индекса в контроллере генерируется по умолчанию.
public function index()
{
$this->paginate = [
'contain' => ['Clients', 'Users', 'LineItems']
];
$this->set('invoices', $this->paginate($this->Invoices));
$this->set('_serialize', ['invoices']);
}
Должен ли я создать карту и уменьшить для этого связанного элемента, чтобы получить общее количество, или есть лучший способ, возможно, расширить выбор, чтобы включить дополнительное поле. Я понял, как добавить выбор, но не как добавить его в качестве дополнительного поля. Если я перезапишу LineItems, я просто получу общее количество, а не другие данные.
Любые указатели на то, как уменьшить карту в этом случае для связанных данных или есть лучший способ?