Просмотр исходного кода

fix(feedback): 修复反馈回复列表查询逻辑

- 添加了对 Feedback 和 Db 门面的依赖引入
- 重构了 getReplyList 方法中的数据库查询
- 使用 leftJoin 关联 feedback_reply 表进行正确的条件筛选
- 添加了按 feedback_id 分组确保数据唯一性
- 修正了分页参数传递方式确保查询准确性
shichen месяцев назад: 4
Родитель
Сommit
e51118d3ff
1 измененных файлов с 9 добавлено и 4 удалено
  1. 9 4
      app/common/repositories/user/FeedbackRepository.php

+ 9 - 4
app/common/repositories/user/FeedbackRepository.php

@@ -13,8 +13,10 @@ namespace app\common\repositories\user;
13
 
13
 
14
 use app\common\dao\user\FeedbackDao;
14
 use app\common\dao\user\FeedbackDao;
15
 use app\common\dao\user\FeedbackReplyDao;
15
 use app\common\dao\user\FeedbackReplyDao;
16
+use app\common\model\user\Feedback;
16
 use app\common\model\user\FeedbackReply;
17
 use app\common\model\user\FeedbackReply;
17
 use app\common\repositories\BaseRepository;
18
 use app\common\repositories\BaseRepository;
19
+use think\facade\Db;
18
 
20
 
19
 /**
21
 /**
20
  * Class FeedbackRepository
22
  * Class FeedbackRepository
@@ -49,10 +51,13 @@ class FeedbackRepository extends BaseRepository
49
 
51
 
50
     public function getReplyList($userId, $page, $limit)
52
     public function getReplyList($userId, $page, $limit)
51
     {
53
     {
52
-        $feedbackIds = FeedbackReply::where(['uid' => $userId, 'user_read' => 0])
53
-            ->limit($page, $limit)
54
-            ->order('reply_id desc')
55
-            ->field('feedback_id')
54
+
55
+        $feedbackIds = Db::name('feedback')
56
+            ->alias('feed')
57
+            ->leftJoin('feedback_reply reply', 'feed.feedback_id = reply.feedback_id')
58
+            ->where(['feed.uid' => $userId,'reply.user_read' => 0])
59
+            ->group('feed.feedback_id')
60
+            ->field('feed.feedback_id')
56
             ->select()
61
             ->select()
57
             ->toArray();
62
             ->toArray();
58
         $feedbackIds = array_column($feedbackIds,'feedback_id');
63
         $feedbackIds = array_column($feedbackIds,'feedback_id');