Cara mengurangi stok

Selamat sore, saya brtanya. Saya punya 2 table, table ikan dan lelang. di table ikan ada field qty, kmudian saya ingin melelang bebrapa ikan & masuk ke table lelang. Yang mau sy tanyakan, gimana ya cara mengurangi stok ikan di table ikan ? dikurangi dari jumlah ikan yg dilelang.

Trimakasih

avatar hilmih3101
@hilmih3101

38 Kontribusi 23 Poin

Diperbarui 4 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

Saya saran boleh ya, setiap buat pertanyaan akan lebih baik "show us some code", biar solusinya lebih tepat. saya asumsikan menggunakan model, tapi tanpa model relation, jadi ga make kaya Model::with() atau Model::whereHas().

struktur dbnya begini:

tb_ikan => id | nama | qty tb_lelang => id | id_ikan | qty

kemudian saya anggap ada 2 model, yaitu Ikan dan Lelang.

kemudian saya juga menganggap anda udah passing id_ikan lewat view ke ctrller, caranya bisa pake input hidden atau lewat routes.

//panggil modelnya

use App\Ikan; use App\Lelang;

public function store(Request $request, $id_ikan) { //kita insert datanya ke tb lelang

$lelang = new Lelang();
$lelang->id_ikan = $id_ikan;
$lelang->qty = $request->qty;
$lelang->save();

//seharusnya skrng di tb_lelang udah ada new input

//sekarang kita kurangi qty di tb_ikan, atau lebih tepatnya update dengan new value //fetch lelang sm ikannya $lelang_ = Lelang::where('id_ikan', $id_ikan)->value('qty'); //kalo relasinya 1-1 ATAU

$lelang_ = Lelang::where('id_ikan', $id_ikan)->get()->sum('qty') //kalo relasinya 1-m, jadi saya jumlah dulu semua qty yang udah terlelang dengan id_ikan yang sama

$ikan = Ikan::find($id_ikan);

//operasi pengurangan
$substract = intval($ikan->qty - $lelang_);

//update value $ikan->qty dengan $substract
$ikan->qty = $substract;
$ikan->save();

return redirect()->back();

}

jangan lupa method yg digunakan POST

avatar rubichandrap
@rubichandrap

25 Kontribusi 19 Poin

Dipost 4 tahun yang lalu

Tanggapan

Terimakasih banyak mas rubichandrap. Berkat respone & jawaban mas rubichandrap, issue ini udh solved. Trimakasih juga utk sarannya mas.

Login untuk ikut Jawaban