/** * Display a listing of the resource. * @return Response */ public function index() { $orders = OrderDelay::select('id', 'reason', 'state', 'created_at', 'semester_id', 'return_semester_id')->with(['files', 'returnSemester' => function ($query) { return $query->select('id', 'name', 'academycycle_year_id', 'start_at'); }, 'returnSemester.year' => function ($query) { return $query->select('id', 'name', 'start_at', 'finish_at'); }])->where('semester_id', $this->semester->id)->where('student_id', $this->student->id)->get(); return response()->json($orders, 200, [], JSON_NUMERIC_CHECK); }
public function orderlist(Request $request, $export = 0) { // $semester_id = request('semester_id',semester()->id); $orders = Delay::orderBy('id', 'DESC')->with('student'); if ($request->has('semester_id')) { $orders->where('semester_id', request('semester_id')); } if (request('order_state')) { $orders->where('state', request('order_state')); } // if (request('semester_id')) { // $orders->where('semester_id', request('semester_id')); // } if (request('student_name')) { $orders->whereHas('student', function ($query) { $query->where('name', 'LIKE', "%" . request('student_name') . "%"); }); } if (request('student_code')) { $orders->whereHas('student', function ($query) { $query->where('username', 'LIKE', "%" . request('student_code') . "%"); }); } $all_orders = $orders->get(); $per_page = request('per_page') ? request('per_page') : 30; $orders = $orders->paginate($per_page); $orders->appends($request->except("page")); $states = array_flatten(config('orders.states')); $states = array_combine($states, $states); $semesters = Semester::select('academycycle_semesters.id', DB::raw('CONCAT(academycycle_semesters.name ,"-", ay.name ) as name '))->join('academycycle_years as ay', 'academycycle_semesters.academycycle_year_id', '=', 'ay.id')->pluck('name', 'id')->toArray(); $order_statistics = Delay::select(DB::raw('count(*) as count, state'))->GroupBy('state'); if ($request->has('semester_id')) { $order_statistics->where('semester_id', request('semester_id')); } $order_statistics = $order_statistics->get(); if ($export == 1) { Excel::create('delay', function ($excel) use($all_orders) { $excel->sheet('order', function ($sheet) use($all_orders) { $states = array_flatten(config('orders.states')); $states = array_combine($states, $states); $sheet->loadView('orders::delay.export', compact('all_orders', 'states')); })->download('xlsx'); }); return redirect()->route('orders.delay.list'); } else { return view('orders::delay.list', compact('orders', 'states', 'semesters', 'order_statistics')); } }