[英]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.