ajax()) { $data = OrderHistory::where('seller_id', user()->id)->select('*')->orderBy('created_at', 'DESC'); // Convert the Eloquent Collection to a regular PHP array $data->each(function ($item, $key) { $item->rowIndex = $key + 1; }); return Datatables::of($data) ->addIndexColumn() ->addColumn('pemesan', function($row){ return User::where('id', $row->buy_id)->first()->name; }) ->addColumn('invoice', function($row){ $text = '
#' . $row->order_id . '
'; return $text; }) ->addColumn('status', function($row){ if ($row->is_status == 1) { return 'Pending'; } elseif($row->is_status == 2) { return 'Dalam pengerjaan'; } elseif($row->is_status == 3) { return 'Selesai'; } elseif($row->is_status == 4) { return 'Dibatalkan'; } }) ->addColumn('harga', function($row){ return 'Rp. ' . number_format($row->price, 0, ',', '.'); }) ->filter(function ($query) use ($request) { if ($request->has('search')) { $search = $request->get('search')['value']; $filterCategory = explode('|', $search); if($filterCategory[0] === 'status') { if(!empty($filterCategory[1])) { $query->where('is_status', $filterCategory[1]); } else { $query->get(); } } elseif($filterCategory[0] === 'orders') { if(!empty($filterCategory[1])) { $query->where('invoice_number', 'LIKE', "%$filterCategory[1]%"); } else { $query->get(); } } } }) ->rawColumns(['invoice', 'status','harga', 'pemesan']) ->make(true); } $data = [ 'subtitle' => 'Semua Pesanan' ]; return view('seller::orders.index', compact('data')); } public function view($invoice) { $check = OrderHistory::where('order_id', $invoice)->first(); if($check) { $data = [ 'subtitle' => 'Detil Pesanan' ]; $getInfoOrders = $check; return view('seller::orders.detail', compact('data', 'getInfoOrders')); } else { return redirect()->back()->with('swal', swal_alert('error', 'Tidak ditemukan data yang anda cari')); } } public function complete(Request $request, $invoice) { $check = OrderHistory::where('order_id', $invoice)->where('seller_id', user()->id)->first(); if($check) { $check->is_status = 3; $check->save(); return redirect()->back()->with('swal', swal_alert('success', 'Anda telah berhasil memperbarui status')); } else { return redirect()->back()->with('swal', swal_alert('error', 'Tidak ditemukan data yang anda cari')); } } public function working(Request $request, $invoice) { $check = OrderHistory::where('order_id', $invoice)->where('seller_id', user()->id)->first(); if($check) { $check->is_status = 2; $check->save(); return redirect()->back()->with('swal', swal_alert('success', 'Anda telah berhasil memperbarui status')); } else { return redirect()->back()->with('swal', swal_alert('error', 'Tidak ditemukan data yang anda cari')); } } }