52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Product;
|
|
use App\Models\Brand;
|
|
use App\Models\Category;
|
|
use Illuminate\Http\Request;
|
|
|
|
class StockController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
// Ambil data produk beserta kategori dan brand, urutkan dari yang terbaru
|
|
$product = Product::with(['brand', 'category'])
|
|
->orderBy('createdAt', 'DESC')
|
|
->get();
|
|
|
|
// Loop untuk mengecek stok dan update status di database
|
|
foreach ($product as $p) {
|
|
if ($p->stok == 0 && $p->status !== 'habis') {
|
|
$p->update(['status' => 'habis']);
|
|
}
|
|
}
|
|
|
|
return view('stock', compact('product'));
|
|
}
|
|
|
|
|
|
public function update(Request $request, $id)
|
|
{
|
|
$product = Product::findOrFail($id);
|
|
|
|
// Periksa jika stok = 0, set status menjadi "habis"
|
|
if ($request->stok == 0) {
|
|
$product->status = "habis";
|
|
} else {
|
|
// Jika stok > 0, gunakan status dari request
|
|
$product->status = $request->status ?? "tidak aktif"; // Default ke "tidak aktif" jika tidak ada input status
|
|
}
|
|
|
|
// Update stok produk
|
|
$product->stok = $request->stok;
|
|
|
|
// Simpan perubahan
|
|
$product->save();
|
|
|
|
return redirect()->back()->with('success', 'Stok produk berhasil diperbarui.');
|
|
}
|
|
|
|
}
|