PhpStorm 不会在模型中打开函数

问题描述

我在 MissingData 模型中有一个函数,它是从 MissingDataController 调用的:

public function store(Request $request)
    {
    $missingData = MissingData::where('operation_id',1)->firstOrFail();
    $missingData->fillData();
}

代码运行良好,但 PHPStorm 在使用 fillData() 时无法打开 Ctrl + B。通常,当 $missingData 不是 MissingData 模型时会发生这种情况。但是在这里,当我 dd($missingData) 时,它返回一个 App\Models\MissingData 实例。

我也尝试过使 PHPStorm Cache 无效,但没有奏效。

为什么会这样?对于所有其他方法PHPStorm 工作正常。

解决方法

我认为 PHPStorm 不知道 firstOrFail() 的结果属于 App\Models\MissingData 类型。为了解决这个问题,我只需添加 phpdoc:

/** @var \App\Models\MissingData $missingData */
$missingData = MissingData::where('operation_id',1)->firstOrFail();