public function orderlist(Request $request, $export = 0) { $withdraw_orders = Withdraw::orderBy('id', 'desc')->with('student'); if ($request->has('semester_id')) { $withdraw_orders->where('semester_id', request('semester_id')); } if (request('order_state')) { $withdraw_orders->where('state', request('order_state')); } if (request('student_name')) { $withdraw_orders->whereHas('student', function ($query) { $query->where('name', 'like', "%" . request('student_name') . "%"); }); } if (request('student_code')) { $withdraw_orders->whereHas('student', function ($query) { $query->where('username', 'like', "%" . request('student_code') . "%"); }); } // if(request('semester_id')) { // $withdraw_orders->where('semester_id', request('semester_id')); // } $all_orders = $withdraw_orders->get(); $per_page = request('per_page') ? request('per_page') : 30; $withdraw_orders = $withdraw_orders->paginate($per_page); $withdraw_orders->appends($request->except("page")); $order_statistics = Withdraw::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(); $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(); if ($export == 1) { Excel::create('withdraw', 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::withdraw.export', compact('all_orders', 'states')); })->download('xlsx'); }); return redirect()->route('orders.withdraw.list'); } else { return view('orders::withdraw.list', compact('withdraw_orders', 'states', 'semesters', 'order_statistics')); } }