Résolu - Essayer d'obtenir la propriété du non-objet - Laravel

Solved Trying Get Property Non Object Laravel



Problème

J'essaie de faire écho au nom de l'utilisateur dans mon article et j'obtiens le |_+_|. Mes codes :

Des modèles

1. Nouvelles







classerNouvelless'étendModèle
{
Publique fonctionposté par()
{
revenir $ceci->appartient à('ApplicationUtilisateur');
}
protégé $table = 'nouvelles';
protégé $ remplissable = ['newsContenu', 'newsTitle', 'posté par'];
}

2. Utilisateur



classerUtilisateurs'étendModèlemet en oeuvreContrat Authentifiable,
Contrat Autorisé,
CanResetPasswordContrat
{
utilisationAuthentifiable,Autorisé,CanResetPassword;

protégé $table = 'utilisateurs';

protégé $ remplissable = ['Nom', 'e-mail', 'le mot de passe'];

protégé $caché = ['le mot de passe', 'remember_token'];

}

Manette

Publique fonctionafficherArticle($ limace)
{
$article =Nouvelles::('limace', $ limace)->premierOuÉchec();
revenirvue('article', compact ('article'));
}

Lame

{{ $article->posté par->Nom }}

Lorsque j'essaie de supprimer le nom dans la lame |_+_| il affiche le |_+_|, mais lorsque j'essaie d'ajouter le ->nom, il indique |_+_| mais j'ai un nom de champ dans ma table et un |_+_| maquette. Est-ce que j'ai raté quelque chose ?



Solution

Votre requête renvoie-t-elle un tableau ou un objet ? Si vous le videz, vous constaterez peut-être qu'il s'agit d'un tableau et que tout ce dont vous avez besoin est un accès au tableau ([]) au lieu d'un accès aux objets (->).





Deuxième opinion

$article->affiche->Nom

à

$article->affiche['Nom']

Ensuite, il faut ajouter un deuxième paramètre dans mon ClassifiedTo, à partir de



revenir $ceci->appartient à('ApplicationUtilisateur');

à

revenir $ceci->appartient à('ApplicationUtilisateur', 'identifiant d'utilisateur');

dans lequel |_+_| est ma clé étrangère dans la table des nouvelles.