猿问

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

我正在使用这个包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 被定义并且我在我的索引上获取所有用户时,我不知道有什么问题。


我如何解决这个问题的任何想法:?


白板的微信
浏览 138回答 1
1回答

小唯快跑啊

事实证明,我正在返回一个期望$users而不是重定向到用户索引的视图。改变自:     return view('admin.users.index')->with('success','User is deleted');到 :return redirect()->route('users.index')->with('success','User is deleted');解决了整个该死的问题
随时随地看视频慕课网APP
我要回答