'id', ); $totalData = CashManagement::count(); $totalFiltered = $totalData; $limit = $request->input('length'); $start = $request->input('start'); $order = $columns[$request->input('order.0.column')]; $dir = $request->input('order.0.dir'); if (empty($request->input('search.value'))) { $cashManagements = CashManagement::offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); }else{ $search = $request->input('search.value'); $cashManagements = CashManagement::whereHas('project',function($q) use ($search){ $q->where('name','LIKE', "%{$search}%"); }) ->offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); $totalFiltered = CashManagement::whereHas('project',function($q) use ($search){ $q->where('name','LIKE', "%{$search}%"); })->count(); } $data = array(); if (!empty($cashManagements)) { foreach ($cashManagements as $row) { $nestedData['project'] = $row->project->name; $nestedData['opsi'] = "
"; $nestedData['opsi'] .= " detail
"; $data[] = $nestedData; } } $json_data = array( "draw" => intval($request->input('draw')), "recordsTotal" => intval($totalData), "recordsFiltered" => intval($totalFiltered), "data" => $data, ); echo json_encode($json_data); } } }else{ $cash_management = CashManagement::findOrFail($id); $payment_received = PaymentReceived::whereHas('invoice', function($q) use ($cash_management){ $q->where('id_projects', $cash_management->id_project); })->first(); $details = []; \set_time_limit(0); if($payment_received){ $payment_receiveds = PaymentReceived::whereHas('invoice', function($q) use ($cash_management){ $q->where('id_projects', $cash_management->id_project); })->get(); foreach ($payment_receiveds as $row) { array_push($details, ['date' => $row->payment_date,'amount' => $row->amount,'from' => 'receive']); } $payment_mades = PaymentMade::whereHas('bill_po.purchaseOrder.purchaseRequest.project', function($q) use ($cash_management){ $q->where('id_project', $cash_management->id_project); })->orWhereHas('bill_lo.labourOrder.project', function($q) use ($cash_management){ $q->where('id_project', $cash_management->id_project); })->orWhereHas('purchase_order.purchaseRequest.project', function($q) use ($cash_management){ $q->where('id_project', $cash_management->id_project); })->orWhereHas('labour_order.project', function($q) use ($cash_management){ $q->where('id_project', $cash_management->id_project); })->get(); foreach ($payment_mades as $row) { array_push($details, ['date' => $row->payment_date,'amount' => $row->amount,'from' => 'made']); } usort($details, function($a, $b) { $a = date('Y-m-d', strtotime($a['date'])); $b = date('Y-m-d', strtotime($b['date'])); if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; }); } return view('staff.real-cash-flow-detail',compact('cash_management','details')); } } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } }