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