fix bug 2

This commit is contained in:
alfinfadli16 2025-06-13 07:35:56 +07:00
parent a6b2819e45
commit 740623cf36
1 changed files with 54 additions and 1 deletions

View File

@ -90,6 +90,28 @@ public function store(Request $request)
}
}
// Tambahkan detail_barang (array barang yang dipilih)
$detailBarang = [];
if ($request->has('barang_ids')) {
foreach ($request->barang_ids as $barangId) {
$jumlah = $request->input('jumlah_' . $barangId, 1);
$barang = StockModel::find($barangId);
if ($barang) {
$detailBarang[] = [
'id' => $barang->id,
'nama_barang' => $barang->nama_barang,
'kode_barang' => $barang->kode_barang,
'kategori' => $barang->kategori,
'harga_sewa' => $barang->harga_sewa,
'jumlah' => $jumlah,
'deskripsi' => $barang->deskripsi,
];
}
}
$paket->detail_barang = $detailBarang;
$paket->save();
}
DB::commit();
return redirect()->route('paket.index')->with('success', 'Paket berhasil ditambahkan');
} catch (\Exception $e) {
@ -164,6 +186,28 @@ public function update(Request $request, $id)
}
}
// Update detail_barang (array barang yang dipilih)
$detailBarang = [];
if ($request->has('barang_ids')) {
foreach ($request->barang_ids as $barangId) {
$jumlah = $request->input('jumlah_' . $barangId, 1);
$barang = StockModel::find($barangId);
if ($barang) {
$detailBarang[] = [
'id' => $barang->id,
'nama_barang' => $barang->nama_barang,
'kode_barang' => $barang->kode_barang,
'kategori' => $barang->kategori,
'harga_sewa' => $barang->harga_sewa,
'jumlah' => $jumlah,
'deskripsi' => $barang->deskripsi,
];
}
}
$paket->detail_barang = $detailBarang;
$paket->save();
}
DB::commit();
return redirect()->route('paket')->with('success', 'Paket berhasil diperbarui!');
@ -407,6 +451,15 @@ public function detail($id)
try {
$paket = Paket::findOrFail($id);
$detailBarang = $paket->detail_barang ?? [];
$barangs = [];
foreach ($detailBarang as $barang) {
$barangs[] = [
'nama_barang' => $barang['nama_barang'] ?? '',
'pivot' => [
'jumlah' => $barang['jumlah'] ?? 0
]
];
}
return response()->json([
'id' => $paket->id,
'nama_paket' => $paket->nama_paket,
@ -416,7 +469,7 @@ public function detail($id)
'minimum_order' => $paket->minimum_order,
'keterangan' => $paket->keterangan,
'image' => $paket->image,
'barangs' => $detailBarang
'barangs' => $barangs
]);
} catch (\Exception $e) {
return response()->json(['error' => 'Paket tidak ditemukan'], 404);