为什么我的 IDE auto-completing 不是 findOrFail 方法?
Why isn't my IDE auto-completing the findOrFail method?
所以我创建了一个消息模型:
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class Message extends Model
{
public function getName()
{
return $this->name;
}
public function setSortOrder($sortOrder)
{
$this->sort_order = $sortOrder;
return $this;
}
}
它似乎运行良好 - 我使用迁移创建了一些列,加载并保存了模型。
但是我的 IDE (PHP Storm) 似乎无法识别模型上的某些方法 - 即 findOrFail
。不过它会自动完成 findOrNew
。
想知道 lumen 中的某些内容是否指向基础模型 stripped-down 的更多版本 class。但同样奇怪的是,当我 运行 它时,这个方法工作得很好——只是 IDE 似乎没有意识到它。
更新
感谢@joseph-silber 关于 Laravel plugin for PHPStorm 的提示。我刚刚找到并安装了它。我没有立即看到任何可以在其中启用文档块生成的设置。
在 Laravel 插件页面的注释中,它提到了 "Laravel IDE Helper Generator"。我搜索了一下,找到了我安装的 Laravel plugin by Haehnchen。
这将 ide-helper:models
选项添加到我的 artisan 命令列表以及其他几个命令列表中。我 运行 它确实在文档块中生成了一些方法,但不是全部。
因为模型 class 没有 findOrFail
方法。
它仅在构建器上可用,它从模型的 catch-all __call
方法调用。
如果您希望 PHP Storm 帮助您,请尝试 Laravel plugin 生成 IDE classes。
使用 query() 方法,你有 IDE 自动完成 User::query()->findOrFail(...)
相当于 User::findOrFail(...)
但 st-bnv[= 中的 Laravel 方法有自动完成12=]
所以我创建了一个消息模型:
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class Message extends Model
{
public function getName()
{
return $this->name;
}
public function setSortOrder($sortOrder)
{
$this->sort_order = $sortOrder;
return $this;
}
}
它似乎运行良好 - 我使用迁移创建了一些列,加载并保存了模型。
但是我的 IDE (PHP Storm) 似乎无法识别模型上的某些方法 - 即 findOrFail
。不过它会自动完成 findOrNew
。
想知道 lumen 中的某些内容是否指向基础模型 stripped-down 的更多版本 class。但同样奇怪的是,当我 运行 它时,这个方法工作得很好——只是 IDE 似乎没有意识到它。
更新
感谢@joseph-silber 关于 Laravel plugin for PHPStorm 的提示。我刚刚找到并安装了它。我没有立即看到任何可以在其中启用文档块生成的设置。
在 Laravel 插件页面的注释中,它提到了 "Laravel IDE Helper Generator"。我搜索了一下,找到了我安装的 Laravel plugin by Haehnchen。
这将 ide-helper:models
选项添加到我的 artisan 命令列表以及其他几个命令列表中。我 运行 它确实在文档块中生成了一些方法,但不是全部。
因为模型 class 没有 findOrFail
方法。
它仅在构建器上可用,它从模型的 catch-all __call
方法调用。
如果您希望 PHP Storm 帮助您,请尝试 Laravel plugin 生成 IDE classes。
使用 query() 方法,你有 IDE 自动完成 User::query()->findOrFail(...)
相当于 User::findOrFail(...)
但 st-bnv[= 中的 Laravel 方法有自动完成12=]