Как иметь два метода обновления в контроллере ресурсов laravel 6 - PullRequest
0 голосов
/ 13 февраля 2020

Это мой пользовательский контроллер, где мне нужно два обновления

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){}

Это мой веб. php файл

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

Это мой взгляд

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

Ответы [ 3 ]

2 голосов
/ 13 февраля 2020

Вам нужно определить другой маршрут для этого

Route::post('FleetAdmin/update_something_else/{id}', ['as'=>'FleetAdmin.update_something_else', 'uses'=>'FleetAdminController@update_something_else'])->middleware('auth');
0 голосов
/ 13 февраля 2020

Ресурс поддерживает только функции по умолчанию, предоставляемые в контроллерах, в вашем случае вам нужно определить новый маршрут, например: Route::Put('fleetadmins/{fleetadmin}/updatesomethingelse', 'FleetAdminController@update_something_else')->name('fleetadmin.update_something_else');

Обратите внимание, что вы не можете использовать Put('fleetadmins/{fleetadmin}), потому что он уже используется public function update(Request $request, $id)

0 голосов
/ 13 февраля 2020

, если вы хотите использовать этот маршрут действия

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

, так что изменитесь в своей сети. php как

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