如何检查喜欢和不喜欢的数量以进行评分系统

时间:2019-04-27 14:16:40

标签: laravel

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

// 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']);
    }

我尝试了其他方法来检查但出现错误

1 个答案:

答案 0 :(得分:1)

withCount()方法返回相关field_count counting related models

的属性

如此

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

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