Maison > développement back-end > tutoriel php > Comment éviter l'erreur « Essayer d'obtenir la propriété d'un non-objet » dans Laravel 5 ?

Comment éviter l'erreur « Essayer d'obtenir la propriété d'un non-objet » dans Laravel 5 ?

Susan Sarandon
Libérer: 2024-11-24 16:16:40
original
541 Les gens l'ont consulté

How to Avoid

Éviter d'"essayer d'obtenir la propriété d'un non-objet" dans Laravel 5

Dans Laravel 5, il est crucial de vérifier le type de retour de vos requêtes pour éviter l'erreur "Essayer d'obtenir la propriété d'un non-objet".

Dans votre cas, la lame la syntaxe {{ $article->postedBy->name }} suppose que $article->postedBy renvoie un objet avec une propriété name. Cependant, si votre requête renvoie un tableau au lieu d'un objet, cette erreur se produit.

Pour résoudre ce problème, supprimez la valeur de $article->postedBy dans votre modèle Blade en utilisant {{ dd($article ->postedBy) }} ou dans le code de votre contrôleur en utilisant dump($article->postedBy). Cela révélera s'il s'agit d'un objet ou d'un tableau.

S'il s'agit d'un tableau, accédez simplement aux éléments du tableau en utilisant [ et ] au lieu de ->. Par exemple, {{ $article->postedBy['name'] }} accéderait à la clé du tableau de noms.

Voici un extrait de code mis à jour :

// Controller
public function showArticle($slug)
{
    // Ensure your query returns an object
    $article = News::where('slug', $slug)->first();

    if ($article) { // Check if the article exists
        return view('article', compact('article'));
    }

    // Handle the case where no article was found
}
Copier après la connexion

En suivant ces étapes , vous pouvez éviter l'erreur « Essayer d'obtenir la propriété d'un non-objet » et vous assurer que vous accédez correctement à vos données.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal