如何在 PhpStorm 中为 Laravel 资源启用自动完成?

How to enable autocomplete for Laravel Resources in PhpStorm?

Laravel 5.5 有一个新的 API 资源功能,它很好地重定向了对模型属性的调用(如 $this->id)。我使用 ide-helper:models 为类型提示所有模型属性的模型生成 phpdoc。但是,这不适用于资源,我得到 "Field accessed via magic method" 波浪线。有没有办法在不复制的情况下将其指向模型的 phpdoc?

你可以使用 @mixin

这是一个示例,如果您想要 User 模型 中的 User Resource 中的 properties/phpdocs,则执行像这样

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\Resource;

/**
 * Class User
 *
 * @mixin \User
 * */
class User extends Resource
{
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'name' => $this->name,
            'email' => $this->email,
            'created_at' => $this->created_at,
            'updated_at' => $this->updated_at,
        ];
    }
}