Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to enable autocomplete for Laravel Resources in PhpStorm?

Laravel 5.5 has a new API Resources feature, and it nicely redirects calls to model attributes (like $this->id). I use ide-helper:models to generate phpdocs for models that type-hints all model attributes. However, this does not apply to a resource and I get "Field accessed via magic method" squigglies. Is there a way to point it to model's phpdoc without copying it?

like image 972
Poma Avatar asked Oct 02 '17 13:10

Poma


1 Answers

You can use the @mixin

Here is an example, If you want the properties/phpdocs from the User model in your User Resource, then do like this

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,
        ];
    }
}
like image 149
techbech Avatar answered Nov 17 '22 11:11

techbech