98 lines
2.9 KiB
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!');
|
|
}
|
|
}
|