Je suis nouveau à Laravel, J'essaie d'obtenir un avatar pour l'utilisateur qui est connecté, mais je continue à obtenir une erreur.
Appel à une méthode non définie Illuminate \ Database \ Eloquent \ Relations \ Hasone :: GetAvatar () (Voir: D: \ PI \ Project \ Crud \ Ressources \ Vues \ Layouts \ Inclus \ Navar.Blade.php) strand> p> Voici mon point de vue p> public function mahasiswa()
{
return $this->hasOne(Mahasiswa::class);
}
3 Réponses :
Votre erreur est ici:
auth()->user()->mahasiswa->getAvatar()
Bonjour Vous appelez la relation, essayez-la comme ceci
Le problème est que vous retournez un objet QueryBuilder si vous utilisez la notation de fonction sur votre relation. Donc Laravel fera une "magie" pour vos méthodes qui renvoient des relations. Si vous appelez Auth () -> Utilisateur () -> Mahasiswa () Code> renvoie le constructeur de requêtes. Ensuite, lorsque vous faites
-> getAvatar () code> Il tente d'appeler la fonction sur le constructeur de requêtes, et ce n'est évidemment pas là.
auth () -> utilisateur () -> Mahasiswa CODE> Il retournera le résultat de la relation et vous renvoie un objet
Mahasiswa code> objet. Donc, ce que vous devriez appeler est: p>