Der Response-Inhalt muss eine Zeichenfolge oder ein Objekt sein, die __toString (), "boolean" implementiert, nachdem sie nach psql verschoben wurden

8

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%

Inhalt

__ Irgendwelche Hinweise / Vorschläge dazu werden eine große Hilfe sein!

    
ihue 04.08.2016, 14:58
quelle

3 Antworten

7

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.

%Vor%     
patricus 04.08.2016, 16:29
quelle
14

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.

    
Jared Eitnier 04.08.2016 15:05
quelle
-1

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.

    
Diego Alves 13.02.2017 14:59
quelle

Tags und Links