Ändert die Funktion Input :: json () zwischen Laravel 4 beta3 und beta4

8

Als ich in Laravel4 Beta3 entwickelt habe, habe ich JSON POST-Daten von einem Dienst mit der Input :: json () -Funktion erhalten. Aber als ich auf Laravel4 Beta4 aktualisiert habe, erhalte ich folgenden Fehler:

Hinweis: Nicht definierte Eigenschaft: Symfony \ Component \ HttpFoundation \ ParameterBag :: $ productName in /Applications/MAMP/htdocs/commonDBAPI/app/controllers/UserController.php Zeile 47

Hat jemand eine Idee, was könnte der Grund sein?

Danke,

    
Sameer 04.04.2013, 20:08
quelle

3 Antworten

15

Sie können nur auf den JSON mit Input::json()->all() zugreifen.

Die JSON-Eingabe wird auch in Input::all() (und Input::get('key', 'default') ) zusammengeführt, sodass Sie die gleiche Schnittstelle zum Abrufen von Abfragezeichenfolgedaten, Formulardaten und einer JSON-Nutzlast verwenden können.

Die Dokumentation enthält noch nicht alle Änderungen, da Laravel 4 noch in der Betaphase ist und der Schwerpunkt darauf liegt, den Code richtig zu machen. Die Dokumentation wird für die Veröffentlichung aktualisiert.

Wie wird JSON mit Input :: all () verschmolzen?

Betrachten Sie den folgenden JSON:

%Vor%

Wenn JSON in Laravels Eingabe zusammengeführt wird, wird der JSON decodiert, und die Tasten der obersten Ebene werden Schlüssel der obersten Ebene in der Eingabe. Zum Beispiel:

%Vor%     
Phill Sparks 11.04.2013, 11:59
quelle
0

Wenn sie es geändert haben, um ein ParameterBag-Objekt zurückzugeben, wechseln Sie Ihren Code zu Input :: json () - & gt; all ()

    
Juni Samos De Espinosa 04.04.2013 23:34
quelle
0

Für: {    "Name": "Olivier",    "title": "Nur ein Versuch" }

Versuchen Sie Folgendes:

$ input = Eingabe :: json () - & gt; all ();

gib $ input ['name'];

zurück     
Obez 26.05.2014 23:42
quelle

Tags und Links