2017-12-20 1 views
1

Ich benutze Laravel 5.4 und ich erstelle ein Formular in Blade und einer der <select> ist von allen Monaten.
Laravel Blade zeigt falsche Werte für die Auswahl Dropdown

@php (
$months = [ 
    '1'=>'01 - January', 
    '2'=>'02 - February', 
    '3'=>'03 - March', 
    '4'=>'04 - April', 
    '5'=>'05 - May', 
    '6'=>'06 - June', 
    '7'=>'07 - July', 
    '8'=>'08 - August', 
    '9'=>'09 - September', 
    '10'=>'10 - October', 
    '11'=>'11 - November', 
    '12'=>'12 - December', 
] 
) 


{{Form::select('card_month', array_merge(['' => 'Select Month'], $months),null,['id' => 'exp_month'])}} 

Wenn ich Element verwenden Überprüfen Sie auf der Dropdown-Liste aussehen sehe ich diese
enter image description here
Die Schlüssel in der $ Monate Array nicht mit den Werten übereinstimmen Element in Inspect.
Die Werte beginnen bei 0 statt 1.

ABER Wenn ich ein Leerzeichen vor den Tasten hinzufüge, werden die Zahlen unter Inspect Element korrekt angezeigt.

' 1'=>'01 - January', 
' 2'=>'02 - February', 
' 3'=>'03 - March', 
' 4'=>'04 - April', 
' 5'=>'05 - May', 
' 6'=>'06 - June', 
' 7'=>'07 - July', 
' 8'=>'08 - August', 
' 9'=>'09 - September', 
' 10'=>'10 - October', 
' 11'=>'11 - November', 
' 12'=>'12 - December', 

enter image description here

Warum ist das passiert und wie kann ich es beheben?

+0

Ich bin mir nicht sicher, wie 'Form :: select' unter der Haube funktioniert, aber es sieht so aus, als ob es einen 0-basierten Index anstelle des Schlüssels für jeden Array-Wert verwendet. –

Antwort

4

Dies ist nicht Laravel Fehler, das ist, wie array_merge Funktion verhält:

Werte in dem Eingangsfeld mit numerischen Tasten mit increment Schlüssel ausgehend von Null in dem Ergebnisarray umnummeriert.

+0

Vielen Dank! Ich habe die array_merge entfernt und es repariert. – altoids