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

"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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
庞浩然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年前 评论

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