【发布时间】:2021-10-01 07:11:33
【问题描述】:
在 Laravel 中尝试查询发票表(表名:invoices),其中发票总额(字段名:net_total)大于为该发票支付的总和。设置为多态关系。
发票表:
public function transactions(){
return $this->morphMany(TransactionAllocation::class, 'doc');
}
付款表:
public function doc()
{
return $this->morphTo();
}
我尝试了似乎不起作用的查询。
Invoice::with('transactions')
->where('net_total', '>' ,'transactions.amount')
->get();
我根据下面的答案尝试了以下操作,这给了我关系的总和,但 where 条件失败
Invoice::withSum('transactions', 'amount')
->where('net_total','>','transactions_sum_amount')
->get();
结果截图 - https://prnt.sc/1favj7u 第二个数组不应该出现,因为它在 where 条件下失败。
关于我缺少什么的任何建议?
【问题讨论】:
标签: sql laravel eloquent laravel-8