/home2/mshostin/carnival.ms-hostingladz.com/app/Http/Controllers/BrandController.php
<?php
namespace App\Http\Controllers;
use App\Models\Brand;
use Illuminate\Http\Request;
class BrandController extends Controller
{
public function index()
{
$brands = Brand::all();
return view('dashboard.admin.brands.index', compact('brands'));
}
public function create()
{
return view('dashboard.admin.brands.create');
}
public function store(Request $request)
{
$request->validate([
'title' => 'required|string|max:255',
'logo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'status' => 'required|integer|in:0,1',
]);
$logoName = time() . '.' . $request->logo->extension();
$request->logo->move(public_path('images'), $logoName);
Brand::create([
'title' => $request->title,
'logo' => $logoName,
'status' => $request->status,
]);
return redirect()->route('brands.index')
->with('success', 'Brand created successfully.');
}
public function show(Brand $brand)
{
return view('dashboard.admin.brands.show', compact('brand'));
}
public function edit(Brand $brand)
{
return view('dashboard.admin.brands.edit', compact('brand'));
}
public function update(Request $request, Brand $brand)
{
$request->validate([
'title' => 'required|string|max:255',
'logo' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'status' => 'required|integer|in:0,1',
]);
if ($request->hasFile('logo')) {
$logoName = time() . '.' . $request->logo->extension();
$request->logo->move(public_path('images'), $logoName);
$brand->update([
'title' => $request->title,
'logo' => $logoName,
'status' => $request->status,
]);
} else {
$brand->update($request->only(['title', 'status']));
}
return redirect()->route('brands.index')
->with('success', 'Brand updated successfully.');
}
public function destroy(Brand $brand)
{
if ($brand->logo) {
unlink(public_path('images/' . $brand->logo));
}
$brand->delete();
return redirect()->route('brands.index')
->with('success', 'Brand deleted successfully.');
}
}