Solved - Essayer d'obtenir une propriété de non-objet - Laravel

Solved - Essayer d'obtenir une propriété de non-objet - Laravel

Problème

J'essaie de faire écho au nom de l'utilisateur dans mon article et je reçois le ErrorException: essayer d'obtenir une propriété de non-objet. Mes codes:

Des modèles

1. Nouvelles

Les nouvelles de la classe étendent le modèle

fonction publique publiée par ()

return $ this-> appartenance ('app \ user');

protégé $ Table = 'News';
protégé $ remplissant = [«NewsContent», «Newstitle», «Publié»];

2. Utilisateur

L'utilisateur de classe étend le modèle implémente authenticatableContracte,
Autorisation,
CanReseTpasswordContracte

Utilisez Authenticatable, autorisable, CanReSetPassword;
protégé $ table = 'utilisateurs';
protégé $ fillable = ['name', 'e-mail', 'mot de passe'];
protégé $ HIDDEN = ['Mot de passe', 'Remember_Token'];

Manette

Fonction publique Showarticle ($ slug)

$ Article = News :: Where ('slug', $ slug) -> Firstorfail ();
Return View ('Article', Compact ('Article'));

Lame

$ Article-> Publié-> nom

Quand j'essaye de supprimer le nom dans la lame $ Article-> Publié il produit le identifiant, Mais quand j'essaye d'ajouter le nom - le nom, il est dit Essayer d'obtenir une propriété de non-objet Mais j'ai un nom de champ dans ma table et un Utilisateur modèle. Est-ce que je manque quelque chose?

Solution

Est-ce que votre requête retourne un tableau ou un objet? Si vous le jetez, vous constaterez peut-être qu'il s'agit d'un tableau et que vous avez besoin d'un accès à tableau ([]) au lieu d'un accès d'objet (->).

Deuxième opinion

$ Article-> Affiche-> nom

pour

$ Article-> Affiche ['name']

Ensuite, c'est ajouter un deuxième paramètre dans mon appartenance, à partir de

return $ this-> appartenance ('app \ user');

pour

return $ this-> appartenance ('app \ user', 'user_id');

dans lequel ID de l'utilisateur est ma clé étrangère dans le tableau des nouvelles.