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

时间:2019-09-26 06:20:28

标签: laravel redirect routes

我有一个管理员控制器。在这里,我可以做一个简单的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(因此它为我提供了正确的ID)

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

有人知道为什么吗?

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

1 个答案:

答案 0 :(得分:6)

要在资源路由中添加一条额外的路由,请将其添加到资源路由的上方。

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