Sobald ich meine Laravel App von MySQL nach pSQL verschoben habe. Ich habe diesen Fehler immer wieder erhalten.
Der Response-Inhalt muss eine Zeichenfolge oder ein Objekt sein, das __toString (), "boolean" implementiert.
Ich habe eine API, die meine Werbung zurückgeben soll
%Vor%Früher habe ich meine Werbung zurückgegeben, jetzt gibt es einen Fehler zurück.
dd ($ promotion);
%Vor%__ Irgendwelche Hinweise / Vorschläge dazu werden eine große Hilfe sein!
Wenn Sie nur return $promotion
von Ihrer Controller-Aktion verwenden, ruft Laravel __toString()
auf, um es in eine anzuzeigende Zeichenfolge zu konvertieren.
Bei Model
, __toString()
ruft toJson()
auf, wodurch das Ergebnis von json_encode
zurückgegeben wird. Daher gibt json_encode
false
zurück, was bedeutet, dass ein Fehler auftritt.
Ihr dd
zeigt an, dass Ihr Attribut img
ein stream resource
ist. json_encode
kann keine resource
codieren, daher verursacht dies wahrscheinlich den Fehler. Sie sollten das Attribut img
zur Eigenschaft $hidden
hinzufügen, um es aus json_encode
zu entfernen.
Ihre Antwort muss eine Art Response
-Objekt zurückgeben. Sie können nicht einfach ein Objekt zurückgeben.
Also ändere es in etwas wie:
%Vor%oder mein Favorit mit der Hilfsfunktion:
%Vor%Wenn die Antwort nicht funktioniert, kann es sich um eine Art Codierung handeln. Siehe diesen Artikel: Der Inhalt der Antwort muss Sei eine Zeichenfolge oder ein Objekt, das __toString (), "boolean", implementiert.
Ich habe dieses Problem, wenn ich einen Ajax-Aufruf verwendet, um Daten aus der Datenbank abzurufen. Wenn der Controller das Array zurückgab, konvertierte er ihn in einen booleschen Wert. Das Problem war, dass ich "ungültige Zeichen" wie ú (u mit Akzent) hatte.