eric MC
eric MC

Reputation: 766

Laravel - Select defaulting to using Optgroup

I want to use a dropdown list in my view in laravel. In my controller I have the following.

    $awards = array(
        'gold' => 'gold',
        'silver' => 'silver',
        'bronze' => 'bronze',
        'no-award' => 'No Award'
    );

    $entry->awards = $awards;

I pass it to the view as follows

$this->layout = View::make('entries/edit', array('entry' => $entry));

Finally in the view

    <div class="form-group">
        {{ Form::label('awards', 'Award:', array('class' => 'control-label '))}}
        {{ Form::select('awards', array(entry->$awards))}}
    </div>

The issue Im running into is in the source it looks like this...

<div class="form-group">
    <label for="awards" class="control-label ">Award:</label>
    <select id="awards" name="awards">
        <optgroup label="0">
            <option value="gold">gold</option>
            <option value="silver">silver</option>   
            <option value="bronze">bronze</option>
            <option value="no-award">No Award</option>
        </optgroup>
     </select>        
</div>

Which looks good except I don't know how to avoid having it put in an optgroup, and I'd like to keep the array to my controller. Thanks.

Upvotes: 0

Views: 1552

Answers (1)

Laurence
Laurence

Reputation: 60048

You are wrapping your awards inside an extra unnecessary array - creating the optgroup[0]

Change

  {{ Form::select('awards', array(entry->$awards)) }}

to

  {{ Form::select('awards', entry->$awards) }}

Upvotes: 4

Related Questions