如何在资源控制器中使用两种更新方法 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)
使用
这是我的用户控制器,我需要进行两次更新
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)