I can't update in laravel 9

Viewed 200

It doesn't give an error, it just goes to the page I redirected, so course.blade.php goes

web.php

Route::get("course-update/{id}", [CourseController::class, "edit"])
    ->name("course_edit")->middleware("auth");
Route::post("course-update", [CourseController::class, "update"])
    ->name("course_update");

CourseController

public function edit($id)
{
   $data["title"] = "Course Edit";
   $data["course"] = Course::findOrFail($id);

   return view("courses.update", $data);
}

public function update(CourseStoreRequest $request, Course $course)
{
   $course->update($request->validated());

   return redirect()->route("course")->with("message", "Course updated");
}

update.blade.php

<form action="{{ route('course_update') }}" method="post">
    @csrf
    <p class="fs-3 text-center font-monospace">Course Update</p>
    <div class="mb-3">
        <label for="name" class="form-label">Course Name</label>
        <input type="text" class="form-control form-control-lg" id="name" name="name" value="{{ $course->name }}">
    </div>
    <div class="mb-3">
        <button type="submit" class="btn btn-primary">Course Update</button>
        <a href="{{ route('course') }}" class="btn btn-danger">Back</a>
    </div>
</form>
1 Answers

Ok. I did

CourseController.php

    public function update(CourseStoreRequest $request)
    {
        Course::find($request->id)->update($request->validated());
        return redirect()->route("course")->with("message", "Course updated");
    }
Related