%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/sljcon/app/Http/Controllers/
Upload File :
Create Path :
Current File : /var/www/html/sljcon/app/Http/Controllers/CategoryController.php

<?php

namespace App\Http\Controllers;

use App\Models\Category;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class CategoryController extends Controller
{
    public function index()
    {
        $categories = Category::all();
        return view('admin.category.all',[
            'categories' => $categories
        ]);
    }

    public function newOrEdit($id)
    {
        $category = Category::query()
            ->find($id);
        if (!$category) {
            $category = new Category();
        }
        return view('admin.category.form', [
            'category' => $category,
            'id' => $id
        ]);
    }

    public function store(Request $request, $id)
    {
        $category = Category::query()
            ->find($id);
        $rules = [
            'name' => 'required|string'
        ];
        if ($category && $category->id) {
            $rules['slug'] = 'required|string|unique:categories,slug,' . $category->id;
        } else {
            $rules['slug'] = 'required|string|unique:categories,slug';
        }
        $this->validate($request, $rules);
        DB::beginTransaction();
        try {
            if ($category) {
                $category->update($request->all());
            } else {
                $category = Category::query()
                    ->create($request->all());
            }
            DB::commit();
            return redirect(route('admin.categories'));

        } catch (\Exception $exception) {
            DB::rollback();
            return redirect(route('admin.category', $category->id));
        }
    }
}

Zerion Mini Shell 1.0