visuddhinanda@gmail.com 3 лет назад
Родитель
Сommit
a0ff1f5ea4
1 измененных файлов с 32 добавлено и 0 удалено
  1. 32 0
      app/Http/Controllers/ProgressChapterController.php

+ 32 - 0
app/Http/Controllers/ProgressChapterController.php

@@ -9,6 +9,7 @@ use App\Models\Tag;
 use App\Models\TagMap;
 use App\Models\PaliText;
 use App\Models\View;
+use App\Models\Like;
 use Illuminate\Http\Request;
 
 class ProgressChapterController extends Controller
@@ -35,6 +36,17 @@ class ProgressChapterController extends Controller
 
         $chapters=false;
         switch ($request->get('view')) {
+            case 'ids':
+                $aChannel = explode(',',$request->get('channel'));
+                $chapters = ProgressChapter::select("channel_id")->selectRaw("uid as id")
+                                         ->with(['channel' => function($query) {  //city对应上面province模型中定义的city方法名  闭包内是子查询
+                                                return $query->select('*');
+                                            }])
+                                        ->where("book",$request->get('book'))
+                                        ->where("para",$request->get('par'))
+                                        ->whereIn('channel_id', $aChannel)->get();
+                $all_count = count($chapters);
+                break;
 			case 'studio':
                 #查询该studio的channel
                 $channels = Channel::where('owner_uid',$request->get('id'))->select('uid')->get();
@@ -165,6 +177,25 @@ class ProgressChapterController extends Controller
                 foreach ($chapters as $key => $value) {
                     # code...
                     $chapters[$key]->views = View::where("target_id",$value->uid)->count();
+                    
+                    $likes = Like::where("target_id",$value->uid)
+                                ->groupBy("type")
+                                ->select("type")
+                                ->selectRaw("count(*)")
+                                ->get();
+                    if(isset($_COOKIE["user_uid"])){
+                        foreach ($likes as $key1 => $like) {
+                            # 查看这些点赞里有没有我点的
+                            $myLikeId =Like::where(["target_id"=>$value->uid,
+                                            'type'=>$like->type,
+                                            'user_id'=>$_COOKIE["user_uid"]])->value('id');
+                            if($myLikeId){
+                                $likes[$key1]->selected = $myLikeId;
+                            }
+                        }
+                    }
+                    $chapters[$key]->likes = $likes;
+                    
                 }
                 
                 $all_count = count($chapters);
@@ -221,6 +252,7 @@ class ProgressChapterController extends Controller
                     # code...
                     $chapters[$key]->channel = Channel::where('uid',$value->channel_id)->select(['name','owner_uid'])->first();
                     $chapters[$key]->views = View::where("target_id",$value->uid)->count();
+                    $chapters[$key]->likes = Like::where(["type"=>"like","target_id"=>$value->uid])->count();
                     $chapters[$key]->tags = TagMap::where("anchor_id",$value->uid)
                                                 ->leftJoin('tags','tag_maps.tag_id', '=', 'tags.id')
                                                 ->select(['tags.id','tags.name','tags.description'])