0

我有一个管理员控制器。在这里我可以做一个简单的 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 所以我认为该路由不起作用,因为该功能应该起作用

有谁知道为什么?

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

4

1 回答 1

6

当您想为您的资源路由添加额外的路由时,请将其添加到资源路由的上方。

 Route::get('admin/{id}', 'AdminController@deactivate')->name('admin.deactivate');
 Route::resource('admin', 'AdminController');
于 2019-09-26T06:23:17.510 回答