Refund::join('transactions', 'refunds.transaction_id', '=', 'transactions.id') ->where('transactions.pembeli', auth()->user()->email) ->select('refunds.*') ->get() ]); } public function create($id) { return view('user.refund.new-refund',['id' => $id]); } public function store(Request $request, $id){ try{ DB::beginTransaction(); $transaction = Transaction::where('id',$id)->first(); $refund = Refund::create([ 'transaction_id' => $id, 'total' => $transaction->harga, 'due_date' => $transaction, 'complain' => $request->complain ]); if ($request->hasFile('files')) { $files = $request->file('files'); foreach ($files as $file) { $filename = $file->getClientOriginalName(); $mime = $file->getClientMimeType(); if (strpos($mime, 'image') !== false) { $type = 'image'; $file->storeAs('public/refund-image/', $filename); } elseif (strpos($mime, 'video') !== false) { $type = 'video'; $file->storeAs('public/refund-video/', $filename); } else { $type = 'Other'; } RefundDescription::create([ 'refund_id' => $refund->id, 'filename' => $filename, 'type' => $type ]); } } DB::commit(); }catch(Throwable $e){ DB::rollback(); Log::error($e->getMessage()); return response()->json(['success' => false, 'message' => 'Terjadi Kesalahan pada sisi server']); } } public function show($id){ $refund = Refund::find($id); $refundDescription = RefundDescription::where($id)->get(); return view('admin.refund.detail-refund',[ "refund"=> $refund, 'descriptions' => $refundDescription ]); return view('user.refund.history-refund',[ 'refund' => $refund, 'descriptions' => $refundDescription ]); } }