Как исправить, что контроллер целевого класса не существует в Laravel? Он работает на другом контроллере, но не работает на этом конкретном контроллере

Я получил сообщение об ошибке Целевой класс [KategoriController] не существует. однако другие контроллеры, такие как buku и user, работают нормально. Я не знаю, почему этот конкретный контроллер вышел из строя.

ссылки/индекс в код страниц категорий, оба результата одинаковы

<a class = "btn btn-warning" href = "/admin/kategori"> Index Kategori</a>
<a class = "btn btn-warning" href = "{{ route('admin.index') }}"> Index Kategori</a>

маршруты

Route::resource('/admin/kategori',KategoriController::class)->middleware('auth:admin');

КатегориКонтроллер

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Providers\RouteServiceProvider;
use App\Models\Kategori;

class KategoriController extends Controller
{
    protected function index()
    {
        $kategori = Kategori::orderBy('id')->paginate(5);
        return view('admin.kategori.index', compact('kategori'));
    }
    public function create()
    {
        return view('admin.kategori.create');
    }
    protected function store(Request $request)
    {
        $request->validate([
            'nama' => 'required',
        ]);
        $input = $request->all();
        Kategori::create($input);
        return redirect()->route('kategori.index')->with('success','Kategori has been created successfully.');
    }
    public function edit(Kategori $kategori)
    {
        return view('admin.kategori.edit',compact('kategori'));
    }
    protected function update(Request $request, Kategori $kategori)
    {
        $request->validate([
            'nama' => 'required',
        ]);
        $kategori->fill($request->post())->save();
        return redirect()->route('kategori.index')->with('success','Kategori Has Been updated successfully');
    }
    protected function destroy(Kategori $kategori)
    {
        $kategori->delete();
        return redirect()->route('kategori.index')->with('success','Kategori has been deleted successfully');
    }
}

Итак, в чем проблема, потому что только у KategoriController есть эти проблемы, UserController, PinjamController и BukuController работают по назначению. Кто-нибудь знает, почему возникла эта проблема и как ее исправить?

Добавьте use App\Http\Controllers\ KategoriController; в начало вашего web.php. Вероятно, у вас уже есть операторы использования для других ваших контроллеров.

aynber 15.05.2023 18:45

Ах да, я забыл... спасибо, что напомнили.

Kholid Syaifullah 16.05.2023 11:24
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Не забывайте всегда импортировать все классы, которые вы используете. В вашем случае это:

use App\Http\Controllers\KategoriController;

Route::resource('/admin/kategori', KategoriController::class)->middleware('auth:admin');

PS: Я лично использую это расширение для VSCODE, чтобы импортировать все свои классы, это очень просто.

Другие вопросы по теме