1

问题是我使用 PhpStorm IDE。Laravel 项目由 nwidart/laravel-modules 管理。

但是,PhpStorm 不处理基本的 Laravel 功能。例如:findorfail(),对于自己的模型:

在 \Modules\Companies\Models\Companies_adresses 中找不到方法“findorfail”

示例图像

我执行以下操作来启用自动完成功能:

这非常令人困惑,因为它没有正确给出提示。它没有列出数据库列等... PHPDoc 仍然浮现在脑海中,但我不知道如何开始!

你没有想法吗?我感到完全迷失了:(

4

2 回答 2

2

我设置了 Laravel IDE 助手,但我必须将以下内容添加到我的所有模型中……或者您可以添加到一个新的模型类,然后将其扩展到所有模型。无论哪种方式,这都会让 PHPStorm 正确读取这样的外观方法:

use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;

/**
 * Class Employee
 *
 * @mixin Builder
 */
class Employee extends Model
{
    // blah blah blah
}

确保 PHPDoc 碰到你的模型。关键位是@mixin让 PHP Storm 连接到模型的所有外观方法的行。您仍然需要 IDE Helper。但是使用此 PHPStorm 会在您键入时提出建议,并允许您控制单击以从项目的其他地方查看方法本身。

于 2020-07-03T22:44:49.203 回答
0

您还可以使用 Laravel Idea 插件生成高级 ide 帮助代码。主菜单 > 代码 > Laravel Idea 代码生成 > 生成 Eloquent Helper 代码。

于 2020-07-27T14:51:07.670 回答