public function run()
 {
     $app_list = ['471851341', '300311831', '309601447', '431244201', '494813494', '596650556', '540360389', '377194688', '562136065', '388358640', '431218690', '582904365', '414706506', '438865278', '739573002', '422689480', '516561342', '281796108', '420009108'];
     $special_app = '590246583';
     //special_part
     $sp_user_list = User::orderByRaw("RAND()")->take(35)->lists('id');
     foreach ($sp_user_list as $sp_key => $sp_value) {
         User_App_Favorite::create(['u_id' => $sp_value, 'a_id' => $special_app]);
     }
     //other_app_part
     foreach ($app_list as $app_key => $app_value) {
         $randNum = rand(10, 30);
         $user_list = User::orderByRaw("RAND()")->take($randNum)->lists('id');
         foreach ($user_list as $u_key => $u_value) {
             User_App_Favorite::create(['u_id' => $u_value, 'a_id' => $app_value]);
         }
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     //
     $status = Input::get('status');
     if (Auth::check()) {
         $user_id = Auth::user()->id;
         switch ($status) {
             case 'apps_comment':
                 $comment = Input::get('comment');
                 $app_id = Input::get('app_id');
                 $new_comment = new User_App_Comment();
                 $new_comment->u_id = $user_id;
                 $new_comment->a_id = $app_id;
                 $new_comment->comment = $comment;
                 $new_comment->save();
                 $new_comment->status = 'success';
                 return $new_comment;
                 break;
             case 'user_favorite':
                 $app_id = Input::get('app_id');
                 $check_suck = User::join('user__app__favorite', 'user__app__favorite.u_id', '=', 'users.id')->where('user__app__favorite.a_id', '=', $app_id)->where('user__app__favorite.u_id', '=', $user_id)->first();
                 //return $check_suck;
                 if (empty($check_suck)) {
                     $new_suck = new User_App_Favorite();
                     $new_suck->u_id = $user_id;
                     $new_suck->a_id = $app_id;
                     $new_suck->save();
                     $new_suck->status = 'success';
                     return $new_suck;
                 } else {
                     return Response::json(array('message' => 'Have already favorite.', 'status' => 'error'));
                 }
                 break;
             case 'user_unfavorite':
                 $app_id = Input::get('app_id');
                 $check_suck = User::join('user__app__favorite', 'user__app__favorite.u_id', '=', 'users.id')->where('user__app__favorite.a_id', '=', $app_id)->where('user__app__favorite.u_id', '=', $user_id)->select('user__app__favorite.id as id')->first();
                 //return $check_suck;
                 if (empty($check_suck)) {
                     return Response::json(array('message' => 'Not suck.', 'status' => 'error'));
                 } else {
                     $delete_suck = User_App_Favorite::where('user__app__favorite.id', '=', $check_suck['id'])->delete();
                     return Response::json(array('message' => 'Delete success.', 'status' => 'success'));
                 }
                 break;
             case 'edit_comment':
                 $comment_id = Input::get('comment_id');
                 $check_comment = User_App_Comment::where('id', '=', $comment_id)->where('u_id', '=', $user_id)->first();
                 if (empty($check_comment)) {
                     return Response::json(array('message' => 'No comment.', 'status' => 'error'));
                 } else {
                     $comment = Input::get('comment');
                     $check_comment->comment = $comment;
                     $check_comment->update();
                     $check_comment->status = 'success';
                     return $check_comment;
                 }
                 break;
             case 'delete_comment':
                 $comment_id = Input::get('comment_id');
                 $check_comment = User_App_Comment::where('id', '=', $comment_id)->where('u_id', '=', $user_id)->first();
                 if (empty($check_comment)) {
                     return Response::json(array('message' => 'No comment.', 'status' => 'error'));
                 } else {
                     if ($check_comment['u_id'] != $user_id) {
                         return Response::json(array('message' => 'Not same user', 'status' => 'error'));
                     } else {
                         $check_comment->delete();
                         return Response::json(array('message' => 'Delete success', 'status' => 'success'));
                     }
                 }
                 break;
             default:
                 return Response::json(array('message' => 'Status error', 'status' => 'error'));
                 break;
         }
     } else {
         return Response::json(array('message' => 'Plz login first', 'status' => 'error'));
     }
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $user = User::where('id', '=', $id)->first();
     $user_favorite_counts = User::where('users.id', '=', $id)->join('user__app__favorite', 'user__app__favorite.u_id', '=', 'users.id')->count();
     $user_coment_counts = User::where('users.id', '=', $id)->join('user__app__comments', 'user__app__comments.u_id', '=', 'users.id')->count();
     $user_comment_list = User_App_Comment::join('apps', 'apps.id', '=', 'user__app__comments.a_id')->join('users', 'users.id', '=', 'user__app__comments.u_id')->select('user__app__comments.id', 'apps.id as app_id', 'apps.name as app_name', 'apps.img_url as app_img', 'comment', 'user__app__comments.created_at')->where('users.id', '=', $id)->orderBy('user__app__comments.created_at', 'desc')->get();
     $user_favorite_list = User_App_Favorite::join('apps', 'apps.id', '=', 'user__app__favorite.a_id')->join('users', 'users.id', '=', 'user__app__favorite.u_id')->select('user__app__favorite.id', 'apps.id as app_id', 'apps.name as app_name', 'apps.img_url as app_img', 'user__app__favorite.created_at')->where('users.id', '=', $id)->orderBy('user__app__favorite.created_at', 'desc')->get();
     $user->favorite_counts = $user_favorite_counts;
     $user->comments_counts = $user_coment_counts;
     $user->comment_list = $user_comment_list;
     $user->favorite_list = $user_favorite_list;
     $user->status = 'success';
     return $user;
 }