samedi 27 février 2016

Laravel blade form select statement has index for value

Having searched and tried to resolve this I can't seem to work it out.

I have a simple static method in a class that returns a list of options. I am using this to populate a select element in a form. This works fine but I'm using the Laravel blade shortcut language and the value of each option is coming out as the index of the array, which is sent to the database when persisting the results of the form:

{!! Form::select('type', \App\Http\Utilities\Airporttype::all(), null, ['class' => 'form-control'] ) !!}

HTML produced:

<select class="form-control" id="type" name="type">
<option value="0">Commercial</option>
<option value="1" selected="selected">Military</option>
<option value="2">Galactic</option><option value="3">Private</option>
</select>

By using the 'null' option, it will give me the option = selected if the database matches what is already saved for that record.

I can achieve it buy doing the following, but wanted to use the blade shortcode style as it's clean (below is what I have tested elsewhere in te form and works):

<select id="country" name="country" class="form-control">
    @foreach (\App\Http\Utilities\Country::all() as $country => $code) 
        <option value="{{ $country }}" @if ($country == $airport->country) selected = 'selected' @endif>{{ $country }}</option>
    @endforeach
</select>

Thanks



from Newest questions tagged laravel-5 - Stack Overflow http://ift.tt/1LkqTcJ
via IFTTT

Aucun commentaire:

Enregistrer un commentaire