first(); // # kalau belum ada datanya, kembalikan objek kosong biar form tetap kebuka return response()->json($gateDetails ?? (object) []); } /** * 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) { // # hanya kolom yang terdaftar di fillable yang boleh disimpan $allowed = (new ConfigHardware())->getFillable(); $data = $request->input('data', []); $filtered = []; foreach ((array) $data as $key => $value) { if (in_array($key, $allowed, true)) { // # ubah string kosong jadi null biar cocok dengan kolom integer $filtered[$key] = $value === '' ? null : $value; } } // # simpan (buat baru kalau id_pos belum punya baris hardware) $hardware = ConfigHardware::updateOrCreate(['id_pos' => $id], $filtered); return response()->json([ 'success' => true, 'message' => 'Konfigurasi hardware berhasil disimpan.', 'data' => $hardware, ]); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } }