2017-07-29 1 views
1

Ich habe Probleme ein multidimentional Array aus meiner Sicht an den Controller zu senden, habe ich eigentlich dieses Array:Laravel: Sende multidimensionales Array von der Ansicht zum Controller?

$array_data[$i] = ['providers_id'=>$chosen_providers[$i],'buy_prices'=>$buy_prices[$i],'total'=>$total;             
]; 

Wie kann ich das meinem Controller senden?

Ich habe versucht:

{{ Form::hidden('array_data[]',$array_data[$i]) }} 

Aber ich habe htmlentities() erwartet ein Parameter-String, Array gegeben Fehler

Grüße

+0

Scheck array_flatten() oder Sie können das Array als ein mehrdimensionales Array senden und dann in der Ansicht, die die Anordnung als ein mehrdimensionales Array lesen –

Antwort

1

Sie können Ihr Array mit übergeben. und dann unserialize() den Wert in Ihrem Controller.

Ansicht:

<input type="hidden" name="test" value="{{ serialize($arr) }}"> 

Controller:

dd(unserialize($request->test)); 
+0

Vielen Dank ! – maudev

+0

Gern geschehen! –

+1

Bitte verwenden Sie diese Lösung nicht, da irgendjemand Ihre versteckten Eingaben ändern und somit willkürliche Variablen, Klassen usw. auf Ihrem Backend erstellen könnte, was ein Sicherheitsrisiko darstellt. Wenn Sie die Daten zum Rendern des Formulars haben, wäre es besser, dieses Array in der Sitzung zu speichern und es später beim Senden des Formulars zu verwenden. –

0

Sie nicht viel über Laravel Funktionen kennen zu sein, wenn es eine andere zu übergeben Array ...

aber hier können Sie dieses Array in String oder JSON konvertieren und in der Steuerung Sie und wieder zu Array decodieren.

Verwandte Themen