首页 > 解决方案 > BadMethodCallException 方法 App\Http\Controllers\TaskController::destory 不存在

问题描述

我正在使用 laravel 5.8,这是我的 routes/api.php 文件。

Route::get('/tasks', 'TaskController@index')->name('tasks.index');
Route::post('/tasks', 'TaskController@store')->name('tasks.store');
Route::get('/tasks/{task}', 'TaskController@show')->name('tasks.show');
Route::put('/tasks/{task}', 'TaskController@update')->name('tasks.update');
Route::delete('/tasks/{task}', 'TaskController@destory')->name('tasks.destroy');

这是TaskController中的函数destroy(),

public function destroy(Task $task)
{
    $task->delete();

    return response()->json([
        'message' => 'Successfully deleted task!'
    ]);
}

但是当我调用这个函数时,我得到了这个错误,

BadMethodCallException 方法 App\Http\Controllers\TaskController::destory 不存在。

如果有人可以提供帮助,那就太好了。

标签: phplaravel-5

解决方案


我希望这不是错字。

您基本上是在调用一个函数destory,但您的控制器函数名称 应该通过使其相同来修复。 destroy

Route::delete('/tasks/{task}', 'TaskController@destroy')->name('tasks.destroy');

推荐阅读