2017-10-02 3 views
4

Laravel 5.5 dispose d'une nouvelle fonction de ressources API, et il redirige bien les appels aux attributs de modèle (comme $this->id). J'utilise ide-helper:models pour générer des phpdocs pour les modèles qui tapent tous les attributs du modèle. Cependant, cela ne s'applique pas à une ressource et j'obtiens des squigglies "Champ accédé par méthode magique". Existe-t-il un moyen de pointer vers le phpdoc de model sans le copier?Comment activer la saisie semi-automatique pour les ressources Laravel dans PhpStorm?

+0

Pourquoi auriez-vous besoin d'obtenir les propriétés d'une ressource dans votre code PHP? Je pense que vous ne comprenez pas à quoi servent les ressources de l'API. Une ressource API est destinée à convertir un modèle en un objet facile à retourner à la réponse HTTP. – PeterBechP

+0

Comment suis-je censé convertir les propriétés sans les obtenir? Ma méthode toArray ressemble à 'return ['id' => $ this-> id, 'name' => $ this-> name];' et je n'ai pas d'auto-complétion sur $ this propriétés – Poma

+0

Ooh désolé. J'ai mal compris votre question alors. J'ai ajouté une réponse. – PeterBechP

Répondre

4

Vous pouvez utiliser le @mixin

est un exemple ici, si vous voulez les propriétés/phpdocs du modèle utilisateur dans votre ressource utilisateur, puis font comme ça

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, 
     ]; 
    } 
}