我想知道什么应该是最好的方法,使功能:
function get_total_payment($payment_id){
return PaymentModel::where('payment_id', $payment_id )->sum('amount');
}
function get_total_payment($payments){
return $payments->sum('amount');
}
我认为第二种方法是在重构代码时保存我们的时间。
两种方法都有效,但我想知道利弊
1条答案
按热度按时间ua4mk5z41#
在我看来,我认为最好使用雄辩的范围,使总的工作在许多不同的情况下。见下面的例子:
现在你可以为不同的情况实现它.看下面的例子:
最后,这取决于您自己。您可以使用作用域,也可以坚持使用普通求和。我认为,在您的情况下使用作用域的附加值只是为了使名称清晰,并使其适用于特定的列。
阅读有关雄辩范围的更多信息:https://laravel.com/docs/9.x/eloquent#query-scopes