当前用户没有修改自己信息的权限?

"Type error: Argument 1 passed to App\Policies\UserPolicy::update() must be an instance of App\Models\User, instance of App\User given, called in /home/vagrant/Code/sample/vendor/laravel/framework/src/Illuminate/Auth/Access/Gate.php on line 481

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
庞浩然Paul
最佳答案

这个问题昨天有人问了,是config/auth.php下的App\Models\User没改。我猜你们是一种情况。

6年前 评论
讨论数量: 4
庞浩然Paul

这个问题昨天有人问了,是config/auth.php下的App\Models\User没改。我猜你们是一种情况。

6年前 评论

App\Policies\UserPolicy::update()的第一个参数检查一下,声明的和你实际登录的用户模型不一致

6年前 评论
庞浩然Paul

这个问题昨天有人问了,是config/auth.php下的App\Models\User没改。我猜你们是一种情况。

6年前 评论
followyounger

edit方法
添加$this->authorize('update',$user);
而不是$this->authorize('edit',$user);

6年前 评论

有可能的一个原因,一定要使用migrate生成的Model文件User.php,移动到Models目录下,不能使用make:model在Models目录下重新生成。

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!