From 1f68dd4b4d4f9e8eaebd4bae6137eb4dea9685c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=BCneyt=20=C5=9Eent=C3=BCrk?= Date: Sun, 9 Nov 2025 14:13:50 +0000 Subject: [PATCH] Fixed n+1 issue for document and transactions taxes.. --- app/Http/Controllers/Common/Items.php | 2 +- app/Http/Controllers/Modals/DocumentTransactions.php | 4 ++++ app/Http/Controllers/Sales/Invoices.php | 2 +- app/Models/Document/Document.php | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Common/Items.php b/app/Http/Controllers/Common/Items.php index 02a6dc430..5f5b43c0b 100644 --- a/app/Http/Controllers/Common/Items.php +++ b/app/Http/Controllers/Common/Items.php @@ -245,7 +245,7 @@ class Items extends Controller $currency_code = default_currency(); } - $autocomplete = Item::autocomplete([ + $autocomplete = Item::with('taxes')->autocomplete([ 'name' => $query ]); diff --git a/app/Http/Controllers/Modals/DocumentTransactions.php b/app/Http/Controllers/Modals/DocumentTransactions.php index f45f8f0ec..e6c9303b2 100644 --- a/app/Http/Controllers/Modals/DocumentTransactions.php +++ b/app/Http/Controllers/Modals/DocumentTransactions.php @@ -42,6 +42,8 @@ class DocumentTransactions extends Controller */ public function create(Document $document) { + $document->load(['totals', 'transactions']); + $currency = Currency::where('code', $document->currency_code)->first(); $paid = $document->paid; @@ -149,6 +151,8 @@ class DocumentTransactions extends Controller */ public function edit(Document $document, Transaction $transaction) { + $document->load(['totals', 'transactions']); + $currency = Currency::where('code', $document->currency_code)->first(); // if you edit transaction before remove transaction amount diff --git a/app/Http/Controllers/Sales/Invoices.php b/app/Http/Controllers/Sales/Invoices.php index e003919d5..969a7cf97 100644 --- a/app/Http/Controllers/Sales/Invoices.php +++ b/app/Http/Controllers/Sales/Invoices.php @@ -31,7 +31,7 @@ class Invoices extends Controller { $this->setActiveTabForDocuments(); - $invoices = Document::invoice()->with('contact', 'items', 'item_taxes', 'last_history', 'transactions', 'totals', 'histories', 'media')->collect(['document_number'=> 'desc']); + $invoices = Document::invoice()->with('contact', 'items', 'items.taxes', 'item_taxes', 'last_history', 'transactions', 'totals', 'histories', 'media')->collect(['document_number'=> 'desc']); $total_invoices = Document::invoice()->count(); diff --git a/app/Models/Document/Document.php b/app/Models/Document/Document.php index 6a786f9ee..040bc2cd1 100644 --- a/app/Models/Document/Document.php +++ b/app/Models/Document/Document.php @@ -132,7 +132,7 @@ class Document extends Model public function items() { - return $this->hasMany('App\Models\Document\DocumentItem', 'document_id'); + return $this->hasMany('App\Models\Document\DocumentItem', 'document_id')->with('taxes'); } public function item_taxes()