Laravel могу ли я добавить два метода обновления на контроллер ресурсов

Я новичок в laravel и хотел бы добавить еще один метод Update из созданного контроллера ресурсов UsersController. что-то вроде этого:

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

но я не знаю, как получить доступ к «update2». Есть ли способ сделать это?


person Evan    schedule 21.11.2018    source источник


Ответы (3)


Вам нужно будет только добавить еще один маршрут в файл routes/web.php. Например:

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

Как вы упомянули, что это контроллер ресурсов, возможно, вы уже добавили что-то похожее на:

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

Это создаст соответствующие маршруты index, show, store, update и destroy.

person DigitalDrifter    schedule 21.11.2018
comment
как мне вызвать обновление в контроллере ресурсов action="{{ route('FleetAdmin.update_user', $user->id) }}" - person SpriteAndDreams; 13.02.2020

Вы можете просто получить доступ к update2 следующим образом:

Route::get('route-name', 'YourCOntroller@update2');
person dvl333    schedule 21.11.2018

Маршрут ресурса создаст URL-адрес, например user/{id}

Вам нужно создать другой маршрут для update2 в web.php, например

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

person hardik prajapati    schedule 21.11.2018