Класс ‘Приложение Категория’ не найден CategoriesController.php

#php #laravel

#php #ларавель

Вопрос:

Я не знаю, как это решить. Я получаю сообщение об ошибке. Я пытаюсь динамически сохранить категорию в базе данных. Но когда я нажимаю создать категорию, я получаю сообщение об ошибке. Я следую курсу, который имеет предыдущую версию laravel, поэтому я не уверен, в чем проблема.

Класс ‘Приложение Категория’ не найден

CategoriesController.php

 <?php

namespace AppHttpControllers;
use AppCategory;
use IlluminateHttpRequest;
use AppModelsCategory as ModelsCategory;



class CategoriesController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        
        return view('categories.index')->with('categories', Category::all());
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        return view('categories.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    public function store(Request $request)
    {
        $this->validate($request, [
            'name' => 'required|unique:categories'
        ]);

        $ncategory = new Category();

        Category::create([
            'name' => $request->name
        ]);

        return redirect(route('categories.index'));
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function destroy($id)
    {
        //
    }
}
 

Category.php

 <?php

namespace AppModels;

use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;

class Category extends Model
{
    use HasFactory;
    protected $fillable = ['name'];
}
 

Комментарии:

1. Измените пространство имен в инструкции use с AppCategory на AppModelsCategory

2. use AppCategory; Для use AppModelsCategory;

3. если решение решило вашу проблему, вы можете принять мой ответ, поставив «галочку».

Ответ №1:

у вас есть два разных импорта для категории

 use AppCategory;
use AppModelsCategory as ModelsCategory;
 

снимите верхнюю часть. и измените второй следующим образом:

 use AppModelsCategory;
 

Ответ №2:

используйте App Models Category; Это должно работать

Комментарии:

1. Это ничего не добавляет к ответу Abilogos