PhpStorm 错误?错误的返回类型:预期用户,在 Laravel 存储库中返回 Eloquest\Model|对象

问题描述 投票:0回答:2

我的意思是……为什么?我正在使用模型定义查询,它实际上返回正确,但 PhpStorm 没有正确检测到我。

这工作得很好,但是在 IDE 中出现警告是一件很痛苦的事情。

我们希望提高代码质量(使用 Code Sniffer、PHPStan...)并将所有检查保留在警告级别,但这让我们陷入困境。

Better a picture than a thousand words

php laravel eloquent phpstorm typeerror
2个回答
1
投票

这是 IDE 自动代码分析的限制之一,因为它仅在运行时返回值才会具有您期望的类型。

唯一的方法是添加简短的 PHPDoc,如下所示

/** @var AdminUser $user **/ 
$user = AdminUser::query()-first();
return $user;

它将强制您的 IDE 使用变量类型,并且不会对运行时产生影响。


0
投票

您也可以使用

/** @noinspection PhpIncompatibleReturnTypeInspection */

function xxx():xxx
行之前。

我也在 YouTrack 上问过。 他们说它永远不会被修复。

https://youtrack.jetbrains.com/issue/WI-74735

© www.soinside.com 2019 - 2024. All rights reserved.