public function index() { $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')->orderBy('id', 'desc')->paginate(20); $reviews->load(['user' => function ($query) { $query->select('id', 'name'); }]); return view('screv.index', ['reviews' => $reviews]); }
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); }