【问题标题】:Type hinting for the model objects of Eloquent ORMEloquent ORM 模型对象的类型提示
【发布时间】:2016-10-15 17:09:15
【问题描述】:

我还没用过 laravel,但是看 youtube 上的教程给我留下了一个输入提示的问题,这对我来说真的很重要。

现在我已经读到这里了

Type Hinting Eloquent Models

这里

Eloquent ORM Code Hinting in PhpStorm

但都没有解决以下问题:

namespace App;
use Illuminate\Database\Eloquent\Model;

    class Movie extends Model {
}

现在让我们说电影有名称、id、长度、作者

所有这些字段都没有在电影类中定义,但不知何故自动来自活动记录 ORM 雄辩模型if I understood correctly

但老实说,我不记得它叫authorAuthor 还是AuthorName。或MovieLengthLengthTotalTime

我应该如何记住所有型号的所有这些?有没有办法在 phpstorm 中输入提示?

我的意思是所有模型中所有表的字段。

编辑

为了更清楚

我想输入:

$m = App\Movie::find(1);
$m->|

| 是我的插入符号。现在我在电影类上有哪些字段?

【问题讨论】:

  • 我发现你的问题不清楚。你在哪里尝试输入提示?或者,当您输入语句时,您是否指的是您的 IDE 提示特定类的属性/方法。我发现使用 dd();如果您不介意使用 CLI 或浏览器,辅助函数可以成为救命稻草。
  • 我编辑了问题
  • /* @var $varName Type_Name */ 适用于 Netbeans 中 Eloquent 的类型提示:stackoverflow.com/a/1798793/470749

标签: php laravel orm eloquent type-hinting


【解决方案1】:

最好的办法是在你的应用程序中安装 laravel-ide-helper ServiceProvider 包

https://github.com/barryvdh/laravel-ide-helper

似乎有很多有用的功能,用于向 IDE 进行类型提示。

【讨论】:

  • 加载资源失败:服务器响应状态为401(未授权)
  • 很奇怪。试试这个链接到 github repo github.com/barryvdh/laravel-ide-helper
  • 我实际上并没有使用 PHP Storm(我使用 Sublime)。我只知道该软件包及其功能与您正在寻找的内容接近
  • 正是我正在寻找的。只需删除损坏的链接并添加该链接即可。实际上只是这样做了
【解决方案2】:

PHPStorm https://github.com/barryvdh/laravel-ide-helper 那里是免费的

https://laravel-idea.com/ 这要好得多,但有每月订阅

还有一个我很喜欢的包是: https://github.com/reliese/laravel

它会自动为您生成模型并包括 phpdoc。因此也改进了自动完成功能。例如。而不是做两次工作1)编写迁移然后2)编写模型你只需编写迁移(适当地使用外键等)然后reliease会自动为你生成模型正确的命名等并将phpdoc放在上面,这样你就可以查看字段

【讨论】:

    猜你喜欢
    • 2015-08-05
    • 2014-08-23
    • 2015-10-29
    • 1970-01-01
    • 2017-11-21
    • 2016-02-21
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多