【发布时间】:2020-04-24 02:31:11
【问题描述】:
这应该很简单,但我无法理解它。我有一张发票表和一张付款表。一张发票有许多付款,总付款金额使用 original_amount * exchange_rate 计算。我需要做的就是确定已付发票的范围。 代码如下:
在 Invoice.php 中
public function payments() {
return $this->hasMany(Payment::class);
}
public function scopePaid($query) {
return $query->whereHas('payments', function (Builder $query)) {
// This is the pseudo code part....
$query->where('original_amount' * 'exchange_rate', '>=', $invoice->amount_due);
}
我只是希望它这么简单,但这当然行不通。我总是可以创建一个静态函数,循环检查发票的付款状态并返回一组已付款发票,但这不是范围,我希望找到比这更优雅的东西。有什么想法吗?
谢谢!
【问题讨论】: