Laravel 我可以在资源控制器上添加两个更新方法吗

Laravel can I add two update method on a resource controller

我是 laravel 的新手,我想从创建的资源控制器 UsersController 添加另一个更新方法。 像这样:

  public function update(Request $request, $id)
{
    "logic here"
}
  public function update2(Request $request, $id)
{
    "logic here"
}

但我不知道如何访问 "update2"。有办法吗?

您可以像这样简单地访问 update2 :

Route::get('route-name', 'YourCOntroller@update2');

您只需要在 routes/web.php 文件中添加另一条路线。例如:

Route::post('/users/{user}/update2', 'UsersController@update2');

正如您提到的它是一个资源控制器,您可能已经添加了类似于以下内容的内容:

Route::resource('users', 'UsersController');

这将创建相应的 indexshowstoreupdatedestroy 路由。

资源路由将创建 URL,如 user/{id}

您必须为 web.php 中的 update2 创建另一个路由,如

路由::put('user/{id}/update2', 'V1\UserController@update2');