首页 > 解决方案 > 如何检查评分系统的帖子的喜欢和不喜欢计数

问题描述

我正在制作一个系统来检查喜欢和不喜欢的数量,如果喜欢的数量多于不喜欢的数量,那么它会给出真实的但我收到一个错误

// if (Files::withCount('likes') >= Files::withCount('dislike')) {
      //     return response()->json(['true']);

      // }elseif (Files::withCount('dislike') >= Files::withCount('like')) {
      //             return response()->json(['false']);
      // }else{
      //             return response()->json(['error'=>'somethingwenrwrng']);

      // }

  //   if( DB::table('files')->select('files_id')
  //       ->join('likes','files_id.files_id','=','files_id') > DB::table('files')->select('id')
  //       ->join('dislike','files_id.files_id','=','files_id') ){
  //     return response()->json(['true']);
  // }else {
  //   return response()->json(['error'=>'somethingwenrwrng']);
  // }
    $file = Files::find($id);
     if($file ->likes->count() > $file ->dislike->count() ){
      return response()->json(['true']);
    }else{
      return response()->json(['error'=>'somethingwenrwrng']);
    }

我尝试了不同的方法来检查,但得到一个错误

标签: laravel

解决方案


withCount()方法返回相关field_count 计数相关模型的属性

所以

$file = Files::find($id)->withCount(['likes','dislikes']);

if($file->likes_count > $file->dislikes_count ){
    return response()->json(['true']);
}

推荐阅读