2017-07-05 2 views
0

Ich benutze Laravel und PHPSstorm.Laravel Auth :: user() hat keine Codevervollständigung für Benutzermodellfunktionen

Die automatische Vervollständigung funktioniert für alle Modelle, nur nicht für den 'Benutzer', wenn ich sie mit Auth::user() anrufe.

Wenn ich die Auth::user() nennen erhalte ich das richtige Benutzerobjekt, aber der Rückgabetyp von Auth::user() ist Authenticatable und nicht User. So bekomme ich keine Code-Vervollständigung für mein Benutzerobjekt, was sehr unangenehm ist, weil ich es sehr oft benutze. Ich denke, das Problem hat etwas mit dem Rückgabetyp von Auth::user() zu tun, weil es Authenticatable und nicht User ist. In der config/auth.php habe ich das Modell bereits auf app/User::class eingestellt.

Können Sie mir sagen, wie Sie den Rückgabewert an das Benutzermodell übergeben?

In diesem example können Sie das Verhalten sehen.

GELöST:

Die Lösung mit dem Laravel-ide-helper Paket funktionierte großartig! https://github.com/barryvdh/laravel-ide-helper

+0

Können Sie bitte den Namen des Editors, jede Konfiguration, die Sie für Laravel-Unterstützung für Ihren Editor und Ihr IDE-Projekt gemacht haben? –

+0

wo bist du auth :: user? Hinweis versuchen, es auf Homecontroller zu nennen. Wenn Sie den Benutzer im Gegenzug erhalten, heißt das, dass Sie auth :: user() mit einer Methode 'createUser' ansprechen, wo der Benutzer nicht existiert. –

+0

@ A.Kootstra Ich benutze PHPSstorm und ich verwende die Standardkonfiguration. – mmanuel

Antwort

2

Fügen Sie Ihrem Projekt laravel-ide-helper-Paket hinzu - https://github.com/barryvdh/laravel-ide-helper.

Das Paket generiert eine Hilfedatei für die IDE mit allen Fassaden und ihren Funktionen. Es behebt die Autovervollständigung der Fassaden so Auth::user() ist auch behoben

1
Auth::user() 

Auth ist ein Alias ​​von ServiceProviders Array in config/app.php, wenn Sie direkt use Illuminate\Support\Facades\Auth; verwenden Sie einen schönen Abschluss in PhpStorm sowie Sublime bekommen, aber es hängt von der IDE.

+0

Ich benutze bereits Illuminate \ Support \ Facades \ Auth, aber es gibt keine Code-Vervollständigung für meinen Benutzer – mmanuel

+0

Benutzereigenschaften werden nicht abgeschlossen. Ihre IDE weiß nicht, was der Name Ihrer Spalte in Ihrer DATABASE ist. 'Auth :: user() -> name' wird nicht vervollständigt –

+0

wenn Sie den Kommentar über der Klasse' @property $ name' hinzufügen, dann haben Sie auch eine automatische Vervollständigung für Ihre Properties. – mmanuel