middleware('auth'); $this->table = new MasterOption; } public function index () { $data = $this->table->get(); return view('definisi-satuan/index',compact('data')); } public function detail($id) { $nama = Auth::user()->name; $data = $this->table->with('masterOptionDetail')->find($id); return view('definisi-satuan/detail', compact('nama', 'id','data')); } public function edit($id) { $nama = Auth::user()->name; $data = $this->table->with('masterOptionDetail')->find($id); return view('definisi-satuan/edit', compact('nama', 'id','data')); } public function add(Request $request) { $input = ItemProgram::INPUT_TYPE_VARIABLE; $nama = Auth::user()->name; return view('definisi-satuan/add', compact('nama','input')); } public function update($id,Request $request) { $query = $this->table->find($id); $query->label = $request->label; if($query->save()){ $masterOptionDetailIds = []; if($request->has('uniqids') && $request->uniqids != ""){ $uniqids = explode(",",$request->uniqids); foreach($uniqids as $row){ $attribute = []; $attribute['value'] = $request->get('value_'.$row); $id = !empty($request->get('id_'.$row))?$request->get('id_'.$row):null; $qMasterOptionDetail = $query->masterOptionDetail()->updateOrCreate(['id'=>$id],$attribute); $masterOptionDetailIds[] = $qMasterOptionDetail->id; } } MasterOptionDetail::where('id_master_option',$query->id)->whereNotIn('id',$masterOptionDetailIds)->delete(); if($query){ Session::flash('info', $query->label); Session::flash('colors', 'green'); Session::flash('icons', 'fas fa-clipboard-check'); Session::flash('alert', 'Berhasil Menyimpan Data!'); return redirect()->back(); }else{ Session::flash('info', $query->label); Session::flash('colors', 'red'); Session::flash('icons', 'fas fa-times'); Session::flash('alert', 'Gagal Menyimpan Data!'); return redirect()->back(); } }else{ Session::flash('info', $query->label); Session::flash('colors', 'red'); Session::flash('icons', 'fas fa-times'); Session::flash('alert', 'Gagal Menyimpan Data!'); return redirect()->back(); } } public function create(Request $request){ $query = $this->table; $query->label = $request->label; if($query->save()){ if($request->has('uniqids') && $request->uniqids != ""){ $uniqids = explode(",",$request->uniqids); foreach($uniqids as $row){ $attribute = []; $attribute['value'] = $request->get('value_'.$row); $id = !empty($request->get('id_'.$row))?$request->get('id_'.$row):null; $qMasterOptionDetail = $query->masterOptionDetail()->updateOrCreate(['id'=>$id],$attribute); } } if($query){ Session::flash('info', $query->label); Session::flash('colors', 'green'); Session::flash('icons', 'fas fa-clipboard-check'); Session::flash('alert', 'Berhasil Menyimpan Data!'); return redirect('pengaturan/definisi-satuan/edit/'.$query->id); }else{ Session::flash('info', $query->label); Session::flash('colors', 'red'); Session::flash('icons', 'fas fa-times'); Session::flash('alert', 'Gagal Menyimpan Data!'); return redirect()->back(); } }else{ Session::flash('info', $query->label); Session::flash('colors', 'red'); Session::flash('icons', 'fas fa-times'); Session::flash('alert', 'Gagal Menyimpan Data!'); return redirect()->back(); } } public function delete($id, Request $request){ $query = $this->table->find($id); if($query->delete()){ Session::flash('info', 'Sukses'); Session::flash('colors', 'green'); Session::flash('icons', 'fas fa-clipboard-check'); Session::flash('alert', 'Berhasil Menghapus Data!'); return redirect()->back(); }else{ Session::flash('info', 'Gagal'); Session::flash('colors', 'red'); Session::flash('icons', 'fas fa-times'); Session::flash('alert', 'Gagal Menghapus Data!'); return redirect()->back(); } } }