讨论数量:
编辑器无法解析出 auth::user () 返回的是 user 模型,所以会显示你调用了未定义的方法。解决办法:将 auth::user()放到 getUser 方法里面,然后在注释的 @returen 告诉编辑器可能返回 user。或者保存到一个 user 变量,然后用行内注释,给 $user 添加 User 类型
/* @var User $user*/ 这样就行了
这个 IDE 报错你的代码没关系,目测使用的是 VSCODE,建议换 PHPStorm。
因为 Auth::user()
最终指向的类文件是 your_project/vendor/laravel/framework/src/Illuminate/Foundation/Auth/User.php
,IDE 并不知道框架使用了 Provider 将最终的用户模型指向了 Model\User.php
,如果不想换 IDE 建议安装 Laravel idea 之类的插件试试,或者按照楼上的方法说的,定义一个方法,然后指定返回类型为 Models\User.php
。
原因是类型无法识别
/* @var User $user*/
$user = Auth::user();
$user->todoes()->create(...);
另外解决这个问题后,编辑器如果开了拼写检查插件的话,可能在 todoes
这里还会有提示拼写问题,应该是 todos
推荐文章: