From 5dc9a984203c48c1db30f2625db5200918df61c4 Mon Sep 17 00:00:00 2001 From: Council Date: Mon, 20 Apr 2026 12:25:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Db::find()=20=E5=85=A8=E9=87=8F=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=20+=20fallback=20=E5=88=B0=20params[data]=EF=BC=9B?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E5=8A=A0=E8=B0=83=E8=AF=95=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/vr_ticket/hook/AdminGoodsSaveHandle.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/shopxo/app/plugins/vr_ticket/hook/AdminGoodsSaveHandle.php b/shopxo/app/plugins/vr_ticket/hook/AdminGoodsSaveHandle.php index 91c3a22..6932bf6 100644 --- a/shopxo/app/plugins/vr_ticket/hook/AdminGoodsSaveHandle.php +++ b/shopxo/app/plugins/vr_ticket/hook/AdminGoodsSaveHandle.php @@ -57,9 +57,13 @@ class AdminGoodsSaveHandle $goodsId = $params['goods_id'] ?? 0; if ($goodsId > 0 && ($data['item_type'] ?? '') === 'ticket') { - // 直接从数据库读 vr_goods_config(避免 $params['data'] 值拷贝的引用链问题) - $goodsRow = Db::name('Goods')->field('vr_goods_config')->find($goodsId); - $rawConfig = $goodsRow['vr_goods_config'] ?? ''; + // 直接从数据库读 vr_goods_config(全量查询,不加 field 限制,避免 ThinkPHP 软删除过滤导致查不到) + $goodsRow = Db::name('Goods')->find($goodsId); + $rawConfig = is_array($goodsRow) ? ($goodsRow['vr_goods_config'] ?? '') : ''; + // 如果 DB 里没有( goodsRow 为空或 vr_goods_config 字段为空),fallback 到 params[data] + if (empty($rawConfig)) { + $rawConfig = $data['vr_goods_config'] ?? ''; + } // DEBUG: 记录关键值 $debugPath = defined('RUNTIME_PATH') ? RUNTIME_PATH . 'vr_debug.log' : '/tmp/vr_debug.log';