From 9da664e7943ac1eb13928fb566fc43ac34d89910 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Fri, 6 Sep 2024 21:50:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3json=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=9A=84hidden=E6=96=B9=E6=B3=95=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/model/concern/Conversion.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/model/concern/Conversion.php b/src/model/concern/Conversion.php index 71497c88..fdf8c906 100644 --- a/src/model/concern/Conversion.php +++ b/src/model/concern/Conversion.php @@ -261,14 +261,19 @@ public function toArray(): array } elseif (!isset($hidden[$key]) && !$hasVisible) { $item[$key] = $this->getAttr($key); } elseif (in_array($key, $this->json)) { - foreach ($hidden[$key] as $name) { - if (is_array($val)) { - unset($val[$name]); - } else { - unset($val->$name); + if (isset($hidden[$key]) && is_array($hidden[$key])) { + // 隐藏JSON属性 + foreach ($hidden[$key] as $name) { + if (is_array($val)) { + unset($val[$name]); + } else { + unset($val->$name); + } } + $item[$key] = $val; + } elseif (!isset($hidden[$key])) { + $item[$key] = $val; } - $item[$key] = $val; } if (isset($this->mapping[$key])) {