簡體   English   中英

無法使用 Laravel 8 編輯 CRUD 中的項目

[英]Cannot Edit item in CRUD using Laravel 8

我在 Laravel 8 中制作了 CRUD,即使我在 index.blade.php 文件中添加了帶有類別 ID 的路由名稱,我也無法在 CRUD 中制作編輯類別,我收到了這個錯誤,我在發布之前檢查了很多次文件,我還是做了沒有發現錯誤...請幫助我

在此處輸入圖像描述

edit.blade.php

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header">Edit Category</div>

                <div class="card-body">
                    @if (count($errors) > 0)
                        <div class="alert alert-danger">
                            @foreach ($errors->all() as $error)
                                <ul>
                                    <li>{{ $error }}</li>
                                </ul>
                            @endforeach
                        </div>
                    @endif 
                    <form action="{{ route('category.update', ['id' => $category->id]) }}" method="post">
                        @csrf
                        {{-- @method('PUT') --}}
                        <div class="form-group">
                            <label for="name">Category Name</label>
                            <input type="text" class="form-control" name="name" value="{{ $category->name }}">
                        </div>                      
                        <button type="submit" class="btn btn-primary">Update</button>
                    </form>        
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

類別控制器

    public function edit(Category $category)
    {
        return view('category.edit')->with(['category' => $category]);
    }

   public function update(Request $request, Category $category)
    {
        $request->validate([

            'name' => 'required|min:3|max:255',

        ]);

        // $category->name = $request['name'];

        // $category->update();

        $category->update($request->all());

        return redirect()->route('category.index')->with('category_updated', 'Category has been updated');
    }

web.php

Route::prefix('user')->group(function () {
    
    Route::get('/categories', [CategoryController::class, 'index'])->name('category.index');

    Route::get('/category/create', [CategoryController::class, 'create'])->name('category.create');

    Route::post('/category', [CategoryController::class, 'store'])->name('category.store');

    Route::get('/category/{id}/edit', [CategoryController::class, 'edit'])->name('category.edit');

    Route::post('/category/{id}', [CategoryController::class, 'update'])->name('category.update');

    Route::delete('/category/{id}', [CategoryController::class, 'destroy'])->name('category.delete');

}); 

你能改變嗎

   public function update(Request $request, Category $category)

   public function update(Request $request, $id)

並告訴我結果?

試試這個,如果它有效,我們會改進它:

public function update(Request $request, $id)
    {
        $request->validate([

            'name' => 'required|min:3|max:255',

        ]);

        $category = Category::find($id);

        // $category->name = $request['name'];

        // $category->update();

        $category->update($request->all());

        return redirect()->route('category.index')->with('category_updated', 'Category has been updated');
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM