J'obtiens toujours cette erreur lorsque je passe un objet utilisateur (lieu) via un contrôleur dans ma vue, j'ai essayé de l'encoder et de le décoder en vain. J'ai également essayé de trouver l'utilisateur dans la vue plutôt que dans le contrôleur en passant simplement l'identifiant de l'utilisateur, mais j'obtiens la même erreur? Les personnes répondant à d'autres questions semblent n'avoir aucun problème à le faire avec cette syntaxe ou similaire, est-ce que je fais quelque chose de mal?
venue {#247 â¼ #guard: "venue" #fillable: array:5 [â¶] #hidden: array:2 [â¶] #connection: "mysql" #table: "venues" #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] #perPage: 15 +exists: true +wasRecentlyCreated: false #attributes: array:11 [â¶] #original: array:11 [â¶] #changes: [] #casts: [] #dates: [] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #visible: [] #guarded: array:1 [â¶] #rememberTokenName: "remember_token" }
Contrôleur:
<div class="venueName"> <h4>{{ $venue->name }}</h4> </div> <p>{{ $venue->addresse }}</p> <p>{{ $venue->bio }}</p> <img src="{{ url($venue->galleryOne) }}" alt=""> @foreach ($venue->item as $item)...
J'essaye d'y accéder dans des vues comme celle-ci:
public function index($venue) { $venue = \App\venue::findOrFail($venue); return view('index.venue')->with(['venue'=>$venue]); }
c'est le dd ($ venue):
htmlspecialchars() expects parameter 1 to be string, object given
Toute aide serait fantastique! Merci :)
3 Réponses :
L'un des éléments de l'un des objets est également un objet et le {{}}
nécessite qu'une chaîne soit la variable à l'intérieur. Vérifiez tous les éléments renvoyés par les objets.
Merci à tous d'avoir compris que cela doit être le résultat d'un appel à une variable objet dans la vue. Solution: Certaines des variables étaient "NULL" qui est traité comme un objet et provoque l'erreur. J'ai changé les valeurs par défaut dans la base de données de NULL à une chaîne vide, et cela a bien fonctionné :).
Vous ajouterez la méthode get après la méthode findOrFail, s'il existe des données .... s'il n'existe pas de données ou null, vous devez contrôler si (vide ($ venue)) dans la vue
$venue = \App\venue::findOrFail($venue)->get(); return view('index.venue')->with(['venue'=>$venue]);
essayez
dd ($ venue);
dans la fonction d'index, au débutavez-vous un autre emplacement dans votre lame
{{$ venue}}
?Accédez-vous à d'autres propriétés ou variables? Pouvez-vous publier la vue entière?
J'ai ajouté le dd et toutes les façons dont j'accède à $ venue dans la vue, la vue est assez grande, donc je ne pouvais pas tout poster
@rargy quelle est votre propriété
galleryOne
est-ce une chaîne ou un objet?Une mention également, le lieu modèle a-t-il un garde personnalisé? est-ce important?
Pouvez-vous ajouter la vue entière? Y compris le foreach. L'erreur peut se trouver n'importe où sur la page, mais elle ne semble pas être dans la partie que vous avez publiée.
@nakov c'est une chaîne