gpt4 book ai didi

php - PhpStorm 中 Eloquent ORM 代码提示

转载 作者:IT王子 更新时间:2023-10-28 23:54:37 24 4
gpt4 key购买 nike

所以我刚开始使用 Laravel(使用 v5)和 Eloquent。我正在努力启动和运行一些基本的 API,并注意到很多工作方法没有出现在 PhpStorm 的代码提示中

所以我有这个模型:

namespace Project\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

class User extends Model
implements AuthenticatableContract, CanResetPasswordContract {
}

在我的一个 Controller 中,我尝试这样做

User::query()->orderBy('id', 'desc');

User::query() 创建一个 Eloquent Builder 对象,并且 orderBy() 行为正确且没有错误。但是,当我键入User::query()-> 并在我实际使用它时发出警告。

我正在使用 Laravel IDE Helper这极大地帮助了 Facades 的代码提示,但似乎对模型/构建器没有帮助。

有没有人能解决这个问题?

最佳答案

对于 future 的 Google 员工,如果您仍然坚持使用 Laravel,也许还有 OP。

laravel-ide-helper package 非常优雅地为您解决了这个问题,我认为这是一个相对较新的功能;生成模型 PHPDocs。

您可以使用此命令为所有 PHPDocs 生成单独的文件:

php artisan ide-helper:models

每个类生成的元数据如下所示:

namespace App {
/**
* App\Post
*
* @property integer $id
* @property integer $author_id
* @property string $title
* @property string $text
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
* @property-read \User $author
* @property-read \Illuminate\Database\Eloquent\Collection|\Comment[] $comments
*/
class Post {}
}

然而,这在 PHPStorm 中给我带来了问题,该软件提示多个类定义。幸运的是,有一个选项可以直接写入模型文件:

php artisan ide-helper:models -W

如果您需要调整行为,还有一些可用的选项和设置,但这是要点。

关于php - PhpStorm 中 Eloquent ORM 代码提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29439753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com