我有一个发票表和一个 LineItems 表。当我获得索引操作的发票列表时,我希望能够返回发票总额。因此,我想将 Invoice、LineItems 和 LineItems.price 字段的总计作为总计返回。
控制器中的当前索引代码是默认生成的。
public function index()
{
$this->paginate = [
'contain' => ['Clients', 'Users', 'LineItems']
];
$this->set('invoices', $this->paginate($this->Invoices));
$this->set('_serialize', ['invoices']);
}
我应该为这个关联的项目创建一个地图并减少以获得总数,还是有更好的方法可以扩展选择以包含一个额外的字段。我想出了如何添加选择,但不知道如何将其添加为附加字段。如果我覆盖 LineItems 我只会得到总数而不是其他数据。
在这种情况下,有关如何对关联数据进行映射减少的任何指针,还是有更好的方法?