Laravel 6 - Мой маршрут не работает в контроллере ресурсов - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть Admincontroller.Здесь я могу сделать простую функцию CRUD.

С этим маршрутом: Route::resource('admin', 'AdminController');

Все (создание, редактирование, уничтожение) работает идеально.

Теперь у меня есть новая функцияв этом контроллере.

По имени деактивировать.Здесь я могу деактивировать пользователей.

это функция:

public function deactivate($id)
    {
        $user = User::find($id);
        if ($user->verified == 1){
            $user->verified = 0;
            $user->save();
            $angebot = Angebot::where('firma', $id);
            $angebot->delete();
            return redirect('/admin')->with('success', 'Nutzer wurde erfolgreich deaktiviert');
        }

        if($user->verified == 0){
            $user->verified = 1;
            $user->save();
            return redirect('/admin')->with('success', 'Nutzer wurde erfolgreich aktiviert');
        }

    }

для этой функции у меня есть этот маршрут:

Route::get('admin/{id}', 'AdminController@deactivate')->name('admin.deactivate');

на мой взгляд это выглядит так:

<a href="{{ route('admin.deactivate',$user->id)}}">

если я нажимаю на эту ссылку, она переходит в / admin / 2 (поэтому она дает мне правильный идентификатор)

, но не перенаправляет в / admin, поэтому я думаю, что маршрутне работает, потому что функция должна работать

кто-нибудь знает почему?

это потому, что я делаю это в моем контроллере ресурсов?

1 Ответ

5 голосов
/ 26 сентября 2019

Если вы хотите добавить дополнительный маршрут к маршруту ресурса, добавьте его над маршрутом ресурса.

 Route::get('admin/{id}', 'AdminController@deactivate')->name('admin.deactivate');
 Route::resource('admin', 'AdminController');
...