如何在资源控制器中使用两种更新方法 laravel 6

How to have two update methods in resource controller laravel 6

这是我的用户控制器,我需要进行两次更新

public function index(){}

public function create(){}

public function store(Request $request){}

public function show($id){}

public function edit($id){}

public function update(Request $request, $id){}

public function destroy($id){}

public function update_something_else(Request $request, $id){}

这是我的 web.php 文件

Route::resource('FleetAdmin', 'FleetAdminController')->middleware('auth');

这是我的看法

action="{{ route('FleetAdmin.update_something_else', $user->id) }}"

您需要为此定义另一条路线

Route::post('FleetAdmin/update_something_else/{id}', ['as'=>'FleetAdmin.update_something_else', 'uses'=>'FleetAdminController@update_something_else'])->middleware('auth');

Ressource 仅支持控制器中提供的默认功能,在您的情况下,您需要定义一个新路由,例如: Route::Put('fleetadmins/{fleetadmin}/updatesomethingelse', 'FleetAdminController@update_something_else')->name('fleetadmin.update_something_else');

请注意,您不能使用 Put('fleetadmins/{fleetadmin}),因为它已被 public function update(Request $request, $id)

使用