From 1dc3d9c5167a177dc1ba59ad292394e06d21c9b5 Mon Sep 17 00:00:00 2001 From: xiadc <251308692@qq.com> Date: Sun, 11 May 2025 17:15:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(shopro):=20=E4=BF=AE=E5=A4=8D=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E4=B8=8D=E6=94=AF=E6=8C=81JSON=5FARRAYAGG?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改了 Circle 控制器中的查询语句,使用 CONCAT 和 GROUP_CONCAT 替代 JSON_ARRAYAGG - 优化了 likes 和 comments 字段的数据格式,确保正确返回 JSON 数组格式 - 该修改解决了数据返回格式错误导致的前端解析问题 --- addons/shopro/controller/zy/Circle.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/shopro/controller/zy/Circle.php b/addons/shopro/controller/zy/Circle.php index 830407b..fe09349 100644 --- a/addons/shopro/controller/zy/Circle.php +++ b/addons/shopro/controller/zy/Circle.php @@ -22,17 +22,17 @@ class Circle extends Base $sub = CircleModel::alias('c') ->join([Likes::$tableName => 'l'], 'c.id = l.circle_id', 'LEFT') - ->field("c.*,JSON_ARRAYAGG(JSON_OBJECT( + ->field("c.*,CONCAT('[',GROUP_CONCAT(JSON_OBJECT( 'id', l.id, 'user_id', l.user_id, 'nickname', l.nickname, 'avatar', l.avatar, 'gender', l.gender - )) AS likes")->group('c.id')->buildSql(); + )), ']') AS likes")->group('c.id')->buildSql(); $query = Comment::alias('m') ->join([$sub => 'c'], 'c.id = m.circle_id', 'RIGHT') ->field("c.*, - JSON_ARRAYAGG(JSON_OBJECT( + CONCAT('[',GROUP_CONCAT(JSON_OBJECT( 'id', m.id, 'pid', m.pid, 'puser_id', m.puser_id, @@ -43,7 +43,7 @@ class Circle extends Base 'gender', m.gender, 'content', m.content, 'create_time', m.create_time - )) AS comment")->group('c.id'); + )), ']') AS comment")->group('c.id'); if (isset($params['club_id'])) { $query->where('c.club_id', $params['club_id']); }