我有一个名为Invoice
的模型,它与hasMany
和InvoiceItems
有关系。在InvoiceItems
中有一个名为total
的字段/列。处理分页时如何计算该字段?这是代码
$periode = $months_translate[date('n') - 1].'-'.date('Y');
$invoices = Invoice::where('billing_period', $periode)
->orderBy('number')->paginate($per_page);
$total_amount = 0; // this is what i am trying to figure out.
foreach($invoices as $invoice){
foreach($invoice->items as $item){
$total_amount += $item->sum('total');
}
}
$total_amount
正在计算所有记录,包括当前billing_period
外部消息,因此简单地给出了错误的结果。
答案 0 :(得分:0)
编写查询时需要使用laravel和方法,它将获得满足您给定条件的发票的发票项目。 阅读此Eager Loading
$invoices = Invoice::with('InvoiceItems')->where('billing_period', $periode)
->orderBy('number')->paginate($per_page);