Maison >développement back-end >tutoriel php >Laravel 5 : Pourquoi est-ce que j'obtiens une erreur « Essayer d'obtenir la propriété d'un non-objet » lors de l'affichage des données utilisateur dans une vue ?
Lorsque vous essayez de faire écho au nom de l'utilisateur dans un article, vous pouvez rencontrer le message " ErreurException : tentative d'obtention de la propriété d'un non-objet ». Voici ce qui pourrait en être la cause :
Inspectez votre requête à l'aide de dd($article). Déterminez s'il renvoie un tableau ou un objet. S'il s'agit d'un tableau, vous devez utiliser l'accès au tableau ([]) au lieu de l'accès aux objets (->).
Votre modèle News a une relation postsBy, qui semble être défini correctement. Assurez-vous cependant que la relation est correctement initialisée dans votre contrôleur avant de la transmettre à la vue.
Vérifiez que le modèle User existe dans votre application. S'il n'est pas chargé ou correctement enregistré, la relation ne fonctionnera pas correctement, entraînant l'erreur.
Confirmez que vous avez un champ de nom dans votre table d'utilisateurs et qu'il correspond à la propriété à laquelle vous essayez d'accéder ($article->postedBy->name).
Vérifiez à nouveau que la syntaxe de la lame pour accéder au nom de l'utilisateur est correcte. Il devrait s'agir de :
{{ $article->postedBy?->name ?? '' }}
Le ?? '' gère le cas où la relation $article->postedBy est nulle ou n'a pas de propriété name.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!