Browse Source

Merge pull request #2107 from visuddhinanda/laravel

课程模式discussion wbw显示学生discussion
visuddhinanda 1 year ago
parent
commit
d81b3dcaf4

+ 1 - 2
app/Http/Controllers/DiscussionController.php

@@ -68,8 +68,7 @@ class DiscussionController extends Controller
                         'can_reply' => false,
                         ]);
                 }
-                $resType = Discussion::where('res_id',$request->get('id'))
-                                        ->value('res_type');
+                $resType = $request->get('res_type');
                 if($user){
                     switch ($resType) {
                         case 'sentence':

+ 2 - 2
app/Http/Controllers/DiscussionCountController.php

@@ -143,7 +143,7 @@ class DiscussionCountController extends Controller
         }
         Log::debug('res id',['res'=>$resId]);
         //全部资源id获取完毕
-        $table = Discussion::select(['id','res_id','type','editor_uid'])
+        $table = Discussion::select(['id','res_id','res_type','type','editor_uid'])
                             ->where('status','active')
                             ->whereNull('parent')
                             ->whereIn('res_id',$resId);
@@ -169,7 +169,7 @@ class DiscussionCountController extends Controller
         $allDiscussions = Discussion::where('status','active')
                                     ->whereNull('parent')
                                     ->where('res_id',$resId)
-                                    ->select(['id','res_id','type','editor_uid'])
+                                    ->select(['id','res_id','res_type','type','editor_uid'])
                                     ->get();
         $result = DiscussionCountResource::collection($allDiscussions);
         Log::debug('response',['data'=>$result]);

+ 18 - 1
app/Http/Resources/DiscussionCountResource.php

@@ -3,6 +3,7 @@
 namespace App\Http\Resources;
 
 use Illuminate\Http\Resources\Json\JsonResource;
+use App\Models\Wbw;
 
 class DiscussionCountResource extends JsonResource
 {
@@ -14,6 +15,22 @@ class DiscussionCountResource extends JsonResource
      */
     public function toArray($request)
     {
-        return parent::toArray($request);
+        $data = [
+            'id' => $this->id,
+            'res_id' => $this->res_id,
+            'res_type' => $this->res_type,
+            'type' => $this->type,
+            'editor_uid' => $this->editor_uid
+        ];
+
+        switch ($this->res_type) {
+            case 'wbw':
+                $wbw = Wbw::where('uid',$this->res_id)
+                        ->select(['book_id','paragraph','wid'])
+                        ->first();
+                $data['wbw'] = $wbw;
+                break;
+        }
+        return $data;
     }
 }