如何修复未定义的变量:laravel 视图中的用户

how to fix Undefined variable: users in laravel view

我正在使用这个包spatie-laravel-permission

为我的网站添加角色和权限。

在我的管理仪表板中,我获取了所有用户并设置了删除方法。


public function user_destroy ($id){

        $user_delete= User::findOrFail($id);

            $user_delete->removeRole($user_delete->getRoleNames());
            $user_delete->delete();


        return view('admin.users.index')->with('success','User is deleted');
    }

所以使用上面的代码不会删除用户和他的角色。

我收到这个错误:

Return value of App\User::getStoredRole() must implement interface Spatie\Permission\Contracts\Role, instance of Illuminate\Support\Collection returned


我尝试使用 PHP detach() :

 $user_delete->roles()->detach();

它确实有效,但我收到此错误:

Undefined variable: users (View: resources\views\admin\users\index.blade.php)

PHP $users 在索引视图中定义如下:


public function mainUsers(){

       $users = User::latest()->paginate(5);
       return view('admin.users.index',compact('users'));

   }

当我使用 PHP detach() 定义了 $users 并且我在索引中获取了所有用户时,我不知道是什么问题。

知道如何解决这个问题吗?

事实证明,我正在返回一个期望 $users 而不是重定向到用户索引的视图。

更改自:

     return view('admin.users.index')->with('success','User is deleted');

收件人:


return redirect()->route('users.index')->with('success','User is deleted');

解决了整个该死的问题