search) { $query->where('nama', 'like', '%' . $request->search . '%'); } $komoditas = $query->paginate($request->per_page ?? 10); return view('master.komoditas.index', compact('komoditas', 'totalKomoditas')); } public function store(Request $request) { // dd($request->all()); $validator = Validator::make($request->all(), [ 'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama'], 'kode' => ['required', 'string', 'max:2', 'unique:master_komoditas,kode'], ], [ 'nama.unique' => 'Nama komoditas ini sudah ada di database.', 'kode.unique' => 'Kode komoditas ini sudah ada di database.', 'kode.max' => 'Kode komoditas maksimal 2 Digit.' ]); if ($validator->fails()) { return response()->json(['status' => 'error', 'errors' => $validator->errors()], 422); } Komoditas::create([ 'nama' => $request->nama, 'kode' => $request->kode, 'created_by' => auth()->id(), 'updated_by' => auth()->id(), ]); return response()->json(['status' => 'success', 'message' => 'Komoditas berhasil ditambahkan.']); } public function show($id) { $komoditas = Komoditas::findOrFail($id); return response()->json(['status' => 'success', 'data' => $komoditas]); } public function update(Request $request, $id) { $validator = Validator::make($request->all(), [ 'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama,' . $id], 'kode' => ['required', 'string', 'max:2', 'unique:master_komoditas,kode'], ], [ 'nama.unique' => 'Nama komoditas ini sudah ada di database.', 'kode.unique' => 'Kode komoditas ini sudah ada di database.', 'kode.max' => 'Kode komoditas maksimal 2 Digit.' ]); if ($validator->fails()) { return response()->json(['status' => 'error', 'errors' => $validator->errors()], 422); } $komoditas = Komoditas::findOrFail($id); $komoditas->update([ 'nama' => $request->nama, 'kode' => $request->kode, 'updated_by' => auth()->id(), ]); return response()->json(['status' => 'success', 'message' => 'Komoditas berhasil diupdate.']); } public function destroy($id) { $komoditas = Komoditas::findOrFail($id); $komoditas->update(['deleted_by' => auth()->id()]); $komoditas->delete(); return response()->json(['status' => 'success', 'message' => 'Komoditas berhasil dihapus.']); } }