TKK_E32222868/app/Http/Controllers/BundlesController.php

98 lines
2.9 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Bundles; // Asumsikan ada model Bundle
use Illuminate\Http\Request;
class BundlesController extends Controller
{
/**
* Menampilkan daftar semua Bundles.
*/
public function index()
{
// Mengambil semua data bundle dari database
$bundles = Bundles::all();
// Mengembalikan view dengan data bundles
return view('pages.back.bundles.index', compact('bundles'));
}
/**
* Menampilkan form untuk membuat Bundle baru.
*/
public function create()
{
// Mengembalikan view form pembuatan bundle
return view('pages.back.bundles.create');
}
/**
* Menyimpan Bundle baru ke database.
*/
public function store(Request $request)
{
// Validasi data input dari form
$validatedData = $request->validate([
'name' => 'required|string|max:255',
'description' => 'nullable|string',
// Tambahkan aturan validasi lain sesuai kolom tabel bundles Anda
]);
// Membuat instance Bundle baru dan menyimpannya
Bundle::create($validatedData);
// Redirect ke halaman index bundles dengan pesan sukses
return redirect()->route('pages.back.bundles.index')->with('success', 'Bundle berhasil ditambahkan!');
}
/**
* Menampilkan detail satu Bundle tertentu.
*/
public function show(Bundle $bundle) // Route model binding
{
// Mengembalikan view detail bundle dengan data bundle yang ditemukan
return view('pages.back.bundles.show', compact('bundle'));
}
/**
* Menampilkan form untuk mengedit Bundle yang sudah ada.
*/
public function edit(Bundle $bundle) // Route model binding
{
// Mengembalikan view form edit bundle dengan data bundle yang ditemukan
return view('pages.back.bundles.edit', compact('bundle'));
}
/**
* Memperbarui data Bundle di database.
*/
public function update(Request $request, Bundle $bundle) // Route model binding
{
// Validasi data input yang diperbarui
$validatedData = $request->validate([
'name' => 'required|string|max:255',
'description' => 'nullable|string',
// Tambahkan aturan validasi lain
]);
// Memperbarui data bundle
$bundle->update($validatedData);
// Redirect ke halaman index bundles dengan pesan sukses
return redirect()->route('pages.back.bundles.index')->with('success', 'Bundle berhasil diperbarui!');
}
/**
* Menghapus Bundle dari database.
*/
public function destroy(Bundle $bundle) // Route model binding
{
// Menghapus bundle
$bundle->delete();
// Redirect ke halaman index bundles dengan pesan sukses
return redirect()->route('pages.back.bundles.index')->with('success', 'Bundle berhasil dihapus!');
}
}