我试着做软删除,但是无法恢复数据,它说错误404,我认为路由有问题,但我不确定
下面的软删除代码对我来说很好:
public function destroy(Course $course)
{
Course::destroy($course->id);
return redirect('/dashboard/courses')->with('success', 'Course has been deleted');
}
这是显示所有已删除数据的路径:
Route::get('/dashboard/courses/recycle', [DashboardCourseController::class, 'recycle']);
这是一个恢复数据的函数:
public function restore(Course $course)
{
Course::onlyTrashed()->find($course->id)->restore();
return redirect('/dashboard/courses/recycle')->with('success', 'Course has been restored');
}
这是恢复数据的路由:
Route::get('/dashboard/courses/restore/{course}', [DashboardCourseController::class, 'restore']);
这个按钮可以恢复数据:
<a href="/dashboard/courses/restore/{{ $course->id }}" class="badge bg-success"><span data-feather="rotate-ccw"></span></a>
发布于 2022-11-24 07:38:08
在restore方法中,有依赖注入。您要求根据该课程中使用的url和id检索课程。但你不能在那里取回课程,因为它被删除了。
解决方案可能是将该方法重构为:
public function restore($courseId)
{
Course::onlyTrashed()->find($courseId)->restore();
return redirect('/dashboard/courses/recycle')->with('success', 'Course has been restored');
}
https://stackoverflow.com/questions/74555668
复制相似问题