From bb0d95ac3697eef9916106d0a5ea36b61443bd60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=AF=E4=B9=90=E5=8A=A0=E5=86=B0?= <11869599+addie66@user.noreply.gitee.com> Date: Fri, 2 Oct 2026 14:14:12 +0800 Subject: [PATCH] =?UTF-8?q?```=20perf(database):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=80=A7=E8=83=BD=E9=80=9A=E8=BF=87=E6=94=B9?= =?UTF-8?q?=E8=BF=9B=E5=85=B3=E8=81=94=E6=9F=A5=E8=AF=A2=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在SplitExecutor.php中将with('receivers')改为get($splitOrderId, ['receivers']) - 在HuifuSplitService.php中将with('receivers')改为where('id', $splitOrderId)->find() - 在Settlement控制器中将with('items')改为get($ids, ['items']) 这些改动避免了N+1查询问题,提高了数据库查询效率。 ``` --- addons/shopro/library/split/SplitExecutor.php | 2 +- addons/shopro_huifu/library/HuifuSplitService.php | 2 +- .../admin/controller/shopro/business_school/Settlement.php | 2 +- .../admin/controller/shopro/operating_company/Settlement.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/shopro/library/split/SplitExecutor.php b/addons/shopro/library/split/SplitExecutor.php index 302b210..741c95b 100644 --- a/addons/shopro/library/split/SplitExecutor.php +++ b/addons/shopro/library/split/SplitExecutor.php @@ -127,7 +127,7 @@ class SplitExecutor public function retry($splitOrderId) { - $splitOrder = SplitOrder::with('receivers')->get($splitOrderId); + $splitOrder = SplitOrder::get($splitOrderId, ['receivers']); if (!$splitOrder) { return false; } diff --git a/addons/shopro_huifu/library/HuifuSplitService.php b/addons/shopro_huifu/library/HuifuSplitService.php index c4e800b..b9bb28a 100644 --- a/addons/shopro_huifu/library/HuifuSplitService.php +++ b/addons/shopro_huifu/library/HuifuSplitService.php @@ -101,7 +101,7 @@ class HuifuSplitService public function retry($splitOrderId) { - $splitOrder = SplitOrder::with('receivers')->get($splitOrderId); + $splitOrder = SplitOrder::where('id', $splitOrderId)->find(); if (!$splitOrder || $splitOrder['channel'] !== 'huifu') { return false; } diff --git a/application/admin/controller/shopro/business_school/Settlement.php b/application/admin/controller/shopro/business_school/Settlement.php index 952291d..23e0287 100644 --- a/application/admin/controller/shopro/business_school/Settlement.php +++ b/application/admin/controller/shopro/business_school/Settlement.php @@ -101,7 +101,7 @@ class Settlement extends Base public function edit($ids = null) { - $row = $this->model->with('items')->get($ids); + $row = $this->model->get($ids, ['items']); if (!$row) { $this->error('记录不存在'); } diff --git a/application/admin/controller/shopro/operating_company/Settlement.php b/application/admin/controller/shopro/operating_company/Settlement.php index ea8b43e..130c53e 100644 --- a/application/admin/controller/shopro/operating_company/Settlement.php +++ b/application/admin/controller/shopro/operating_company/Settlement.php @@ -101,7 +101,7 @@ class Settlement extends Base public function edit($ids = null) { - $row = $this->model->with('items')->get($ids); + $row = $this->model->get($ids, ['items']); if (!$row) { $this->error('记录不存在'); }