From ed02066d619c31f62928b4c5d77e9fd28a5907cb Mon Sep 17 00:00:00 2001 From: renshen <1005457301@qq.com> Date: Wed, 21 Oct 2026 22:18:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E5=88=A9=E6=B6=A6=E9=95=9C?= =?UTF-8?q?=E5=83=8F=EF=BC=9A=E5=AD=97=E6=AE=B5=E6=98=A0=E5=B0=84=E5=8F=AA?= =?UTF-8?q?=E4=BF=9D=E7=95=99=E5=8E=9F=E8=A1=A8=E5=AE=9E=E9=99=85=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repositories/GoodsProfitAfsRepository.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/EcommerceFinance/Repositories/GoodsProfitAfsRepository.php b/modules/EcommerceFinance/Repositories/GoodsProfitAfsRepository.php index 19322e25..780b1776 100644 --- a/modules/EcommerceFinance/Repositories/GoodsProfitAfsRepository.php +++ b/modules/EcommerceFinance/Repositories/GoodsProfitAfsRepository.php @@ -60,14 +60,20 @@ class GoodsProfitAfsRepository $headers = (array) config('order_after_sales_cost.headers', []); $map = []; + $existing = array_map( + 'strtolower', + Schema::connection($this->connectionName())->getColumnListing(self::MAIN_TABLE), + ); foreach ($this->connection()->table(self::SCHEMA_TABLE)->orderBy('id')->get(['column', 'name']) as $schema) { $label = self::normalizeLabel((string) $schema->name); $field = $headers[$label] ?? null; + $column = (string) $schema->column; // 同一科目出现多次(如 800105佣金 / 800105平台佣金)时保留第一次映射。 - if ($field !== null && ! isset($map[$field])) { - $map[$field] = (string) $schema->column; + // schemas 里有 170 条,但原表只有 160 列,提前过滤掉不存在的列。 + if ($field !== null && ! isset($map[$field]) && in_array(strtolower($column), $existing, true)) { + $map[$field] = $column; } } -- 2.47.2