has('eDateRange')) { $date = explode('-', urldecode(request()->query('eDateRange'))); $page_data['start_date'] = strtotime($date[0] . ' 00:00:00'); $page_data['end_date'] = strtotime($date[1] . ' 23:59:59'); } $query = Payout::where('user_id', auth()->user()->id)->where('created_at', '>=', date('Y-m-d H:i:s', $page_data['start_date'])) ->where('created_at', '<=', date('Y-m-d H:i:s', $page_data['end_date']))->latest('id'); $page_data['payout_reports'] = $query->paginate(10)->appends(request()->query('eDateRange')); $page_data['payout_request'] = Payout::where('user_id', auth()->user()->id)->where('status', 0)->first(); $page_data['total_payout'] = instructor_total_payout(); $page_data['balance'] = instructor_available_balance(); return view('instructor.payout_report.index', $page_data); } public function store(Request $request) { // check old request if (Payout::where('user_id', auth()->user()->id)->where('status', 0)->exists()) { Session::flash('error', get_phrase('Your request is in process.')); return redirect()->back(); } // check amount validity $total_income = instructor_total_revenue(); $total_payout = instructor_total_payout(); $balance_remaining = $total_income - $total_payout; if ($request->amount < 1 || $request->amount > $balance_remaining) { Session::flash('error', get_phrase('You do not have sufficient balance.')); return redirect()->back(); } $data['user_id'] = auth()->user()->id; $data['amount'] = $request->amount; Payout::insert($data); Session::flash('success', get_phrase('Your request has been submitted.')); return redirect()->back(); } public function delete($id) { if (Payout::where('id', $id)->where('user_id', auth()->user()->id)->doesntExist()) { Session::flash('error', get_phrase('Data not found.')); return redirect()->back(); } Payout::where('id', $id)->delete(); Session::flash('success', get_phrase('Your request has been deleted.')); return redirect()->back(); } }