Laravel 6-我的路线在资源控制器中不起作用

Mon*_*uhr 0 redirect routes laravel

我有一个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');
        }

    }
Run Code Online (Sandbox Code Playgroud)

对于此功能,我有以下路线:

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

在我看来,它看起来像这样:

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

如果我单击此链接,它将转到/ admin / 2(因此它为我提供了正确的ID)

但是它不会重新发送到/ admin,所以我认为路由不起作用,因为该功能应该起作用

有人知道为什么吗?

是因为我在资源控制器中执行此操作吗?

小智 6

如果要向资源路由添加额外的路由,请将其添加到资源路由的上方。

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