Laravel я могу добавить два метода обновления на контроллере ресурсов
Я новичок в laravel, и я хотел бы добавить еще один метод обновления из созданного контроллера ресурсов UsersController. что-то вроде этого:
public function update(Request $request, $id)
{
"logic here"
}
public function update2(Request $request, $id)
{
"logic here"
}
но я не знаю, как получить доступ к "update2". Есть ли способ сделать это?
3 ответа
Решение
Вам нужно только добавить еще один маршрут к вашему routes/web.php
файл. Например:
Route::post('/users/{user}/update2', 'UsersController@update2');
Поскольку вы упомянули, что это контроллер ресурсов, вы, возможно, уже добавили что-то похожее на:
Route::resource('users', 'UsersController');
Это создаст соответствующий index
, show
, store
, update
, а также destroy
маршруты.
Вы можете просто получить доступ к update2 следующим образом:
Route::get('route-name', 'YourCOntroller@update2');
Ресурсный маршрут создаст URL как user/{id}
Вы должны создать другой маршрут для update2 в web.php, как
Route::put('user/{id}/update2', 'V1\UserController@update2');