0
votes

Appel à la méthode indéfinie Laravel 6

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);
}


0 commentaires

3 Réponses :


0
votes

Votre erreur est ici:

auth()->user()->mahasiswa->getAvatar()


0 commentaires

1
votes

Bonjour Vous appelez la relation, essayez-la comme ceci xxx


0 commentaires

0
votes

Le problème est que vous retournez un objet QueryBuilder si vous utilisez la notation de fonction sur votre relation. Donc Auth () -> Utilisateur () -> Mahasiswa () renvoie le constructeur de requêtes. Ensuite, lorsque vous faites -> getAvatar () Il tente d'appeler la fonction sur le constructeur de requêtes, et ce n'est évidemment pas là.

Laravel fera une "magie" pour vos méthodes qui renvoient des relations. Si vous appelez auth () -> utilisateur () -> Mahasiswa Il retournera le résultat de la relation et vous renvoie un objet Mahasiswa objet. Donc, ce que vous devriez appeler est: xxx


0 commentaires