Example #1
0
 public function show(Request $request, $id)
 {
     $club = Club::find($id, ['id', 'name', 'information', 'reviews']);
     $scs = Sc::select('id', 'name')->where('club_id', $id)->get();
     $reviews = Screv::with(['user' => function ($query) {
         $query->select('id', 'name');
     }])->select('id', 'user_id', 'title', 'content', 'created_at')->where('model_id', $id)->where('model', 1)->orderBy('id', 'desc')->take(20)->get();
     if (Auth::check()) {
         $userReviews = Screv::select('id', 'title', 'content', 'created_at')->where('user_id', $request->user()->id)->where('model_id', $id)->where('model', 1)->get();
     } else {
         $userReviews = 0;
     }
     return view('club.show', ['club' => $club, 'scs' => $scs, 'reviews' => $reviews, 'userReviews' => $userReviews]);
 }
Example #2
0
 public function destroy(Request $request, $id)
 {
     $review = Screv::find($id);
     if ($review->user_id == $request->user()->id) {
         if ($review->delete()) {
             DB::table('users')->where('id', $review->user_id)->decrement('screvs');
             if ($review->model == 0) {
                 DB::table('scs')->where('id', $review->model_id)->decrement('reviews');
             } else {
                 DB::table('clubs')->where('id', $review->model_id)->decrement('reviews');
             }
         }
     }
     return redirect()->back();
 }
Example #3
0
 public function show(Request $request, $id)
 {
     $sc = Sc::find($id, ['id', 'name', 'alias', 'club_id', 'jobs', 'information', 'reviews']);
     $sc->load(['club' => function ($query) {
         $query->select('id', 'name');
     }]);
     $roles = Role::with(['drama' => function ($query) {
         $query->select('id', 'title');
     }, 'episode' => function ($query) {
         $query->select('id', 'title');
     }])->select('drama_id', 'episode_id', 'job', 'note')->where('sc_id', $id)->orderBy('id', 'desc')->take(10)->get();
     $reviews = Screv::with(['user' => function ($query) {
         $query->select('id', 'name');
     }])->select('id', 'user_id', 'title', 'content', 'created_at')->where('model_id', $id)->where('model', 0)->orderBy('id', 'desc')->take(20)->get();
     if (Auth::check()) {
         $userReviews = Screv::select('id', 'title', 'content', 'created_at')->where('user_id', $request->user()->id)->where('model_id', $id)->where('model', 0)->get();
     } else {
         $userReviews = 0;
     }
     return view('sc.show', ['sc' => $sc, 'roles' => $roles, 'reviews' => $reviews, 'userReviews' => $userReviews]);
 }
Example #4
0
 public function exportScrevs()
 {
     $reviews = Screv::leftJoin('scs', function ($join) {
         $join->on('screvs.model_id', '=', 'scs.id')->where('screvs.model', '=', 0);
     })->leftJoin('clubs', function ($join) {
         $join->on('screvs.model_id', '=', 'clubs.id')->where('screvs.model', '=', 1);
     })->select('screvs.*', 'scs.name as sc_name', 'clubs.name as club_name')->where('screvs.user_id', Auth::id())->orderBy('screvs.id')->get();
     $str = "属性,名称,标题,内容,发表时间,更新时间\n";
     foreach ($reviews as $review) {
         $str .= ($review->model ? '社团' : 'SC') . "," . ($review->model ? $review->club_name : $review->sc_name) . ",\"" . str_replace("\"", "\"\"", $review->title) . "\",\"" . str_replace("\"", "\"\"", $review->content) . "\"," . $review->created_at . "," . $review->updated_at . "\n";
     }
     $headers = array('Content-Type' => 'text/csv', 'Content-Disposition' => 'attachment; filename="screvs.csv"');
     return response($str, 200, $headers);
 }