From 2c8d25eeb39a2f97f820fa9c1c10452bf0aebae1 Mon Sep 17 00:00:00 2001 From: = Date: Mon, 22 Aug 2022 13:49:07 +1000 Subject: [PATCH] Refactor payment queries for improved efficiency --- app/Repositories/PaymentRepository.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/Repositories/PaymentRepository.php b/app/Repositories/PaymentRepository.php index 916267f8ba54..885df9fba014 100644 --- a/app/Repositories/PaymentRepository.php +++ b/app/Repositories/PaymentRepository.php @@ -139,7 +139,8 @@ class PaymentRepository extends BaseRepository { //todo optimize this into a single query foreach ($data['invoices'] as $paid_invoice) { - $invoice = Invoice::withTrashed()->whereId($paid_invoice['invoice_id'])->first(); + // $invoice = Invoice::withTrashed()->whereId($paid_invoice['invoice_id'])->first(); + $invoice = $invoices->firstWhere('id', $paid_invoice['invoice_id']); if ($invoice) { $invoice = $invoice->service() @@ -165,8 +166,9 @@ class PaymentRepository extends BaseRepository { //todo optimize into a single query foreach ($data['credits'] as $paid_credit) { - $credit = Credit::withTrashed()->find($paid_credit['credit_id']); - + // $credit = Credit::withTrashed()->find($paid_credit['credit_id']); + $credit = $credits->firstWhere('id', $paid_credit['credit_id']); + if ($credit) { $credit = $credit->service()->markSent()->save(); (new ApplyCreditPayment($credit, $payment, $paid_credit['amount'], $credit->company))->handle();