diff --git a/app/Http/Controllers/Admin/AdminRefundController.php b/app/Http/Controllers/Admin/AdminRefundController.php index 3538705..5020163 100644 --- a/app/Http/Controllers/Admin/AdminRefundController.php +++ b/app/Http/Controllers/Admin/AdminRefundController.php @@ -134,21 +134,16 @@ class AdminRefundController extends Controller public function listRefund(Request $request) { - $subQuery = Refund::join('transactions', 'refunds.transaction_id', '=', 'transactions.id') - ->join('users as b', 'transactions.pembeli', '=', 'b.email') - ->join('users as s', 'transactions.penjual', '=', 's.email') - ->latest() - ->select('refunds.id as id', DB::raw("CONCAT(b.nama_depan,' ', b.nama_belakang) as pembeli"), DB::raw("CONCAT(s.nama_depan,' ', s.nama_belakang) as penjual"), 'transactions.nama_barang as nama_barang', 'refunds.total as total', 'refunds.created_at', 'refunds.due_date', 'refunds.status'); + try { + $subQuery = Refund::join('transactions', 'refunds.transaction_id', '=', 'transactions.id') + ->join('users as b', 'transactions.pembeli', '=', 'b.email') + ->join('users as s', 'transactions.penjual', '=', 's.email') + ->latest() + ->select('refunds.id as id', DB::raw("CONCAT(b.nama_depan,' ', b.nama_belakang) as pembeli"), DB::raw("CONCAT(s.nama_depan,' ', s.nama_belakang) as penjual"), 'transactions.nama_barang as nama_barang', 'refunds.total as total', 'refunds.created_at', 'refunds.due_date', 'refunds.status'); - if ($request->has('search') && !empty($request->search['value'])) { - $searchRefund = $request->search['value']; - if (!is_numeric($searchRefund)) { - // if(strtotime($searchRefund) != false){ - // $subQuery->where(function ($a) use ($searchRefund) { - // $a->whereDate('refunds.created_at','=',Carbon::createFromFormat('d/m/y', ucfirst(strtolower($searchRefund)))->format('Y-m-d')) - // ->orWhereDate('refunds.due_date','=',Carbon::createFromFormat('d/m/y', ucfirst(strtolower($searchRefund)))->format('Y-m-d')); - // }); - // }else{ + if ($request->has('search') && !empty($request->search['value'])) { + $searchRefund = $request->search['value']; + if (!is_numeric($searchRefund)) { $subQuery->where(function ($a) use ($searchRefund) { $a->whereRaw('LOWER(b.nama_depan) LIKE ?', ['%' . strtolower($searchRefund) . '%']) ->orWhereRaw('LOWER(b.nama_belakang) LIKE ?', ['%' . strtolower($searchRefund) . '%']) @@ -157,33 +152,31 @@ class AdminRefundController extends Controller ->orWhereRaw('LOWER(transactions.nama_barang) LIKE ?', ['%' . strtolower($searchRefund) . '%']) ->orWhereRaw('LOWER(refunds.status) LIKE ?', ['%' . strtolower($searchRefund) . '%']); }); - // } - - }else { - $subQuery->where(function ($a) use ($searchRefund) { - $a->whereDay('refunds.created_at', '=', $searchRefund) - ->orWhereMonth('refunds.created_at', '=', $searchRefund) - ->orWhereYear('refunds.created_at', '=', $searchRefund) - ->orWhereDay('refunds.due_date', '=', $searchRefund) - ->orWhereMonth('refunds.due_date', '=', $searchRefund) - ->orWhereYear('refunds.due_date', '=', $searchRefund) - ->orWhere('refunds.total','=',$searchRefund); - }); + } else { + $subQuery->where(function ($a) use ($searchRefund) { + $a->whereDay('refunds.created_at', '=', $searchRefund) + ->orWhereMonth('refunds.created_at', '=', $searchRefund) + ->orWhereYear('refunds.created_at', '=', $searchRefund) + ->orWhereDay('refunds.due_date', '=', $searchRefund) + ->orWhereMonth('refunds.due_date', '=', $searchRefund) + ->orWhereYear('refunds.due_date', '=', $searchRefund) + ->orWhere('refunds.total', '=', $searchRefund); + }); + } } - } - $queryRefund = Refund::from(DB::raw("({$subQuery->toSql()}) as tmp")) - ->mergeBindings($subQuery->getQuery()) // Menggabungkan binding parameters - ->select('*') - ->get(); + $queryRefund = Refund::from(DB::raw("({$subQuery->toSql()}) as tmp")) + ->mergeBindings($subQuery->getQuery()) // Menggabungkan binding parameters + ->select('*') + ->get(); - if ($request->ajax()) { - return DataTables::of($queryRefund) - ->addIndexColumn() - ->addColumn('action', function ($row) { - $url = route('admin-refund.show', ['id' => $row->id]); - $html_code = - ' + if ($request->ajax()) { + return DataTables::of($queryRefund) + ->addIndexColumn() + ->addColumn('action', function ($row) { + $url = route('admin-refund.show', ['id' => $row->id]); + $html_code = + '