2015-12-11 4 views
0

в мой контроллер, я передаю список клиентов с точки зренияLaravel 5 определение старый вход на выберите

public function edit(Project $project) 
{ 
    $clients = Client::select('clientName', 'id')->get(); 

    return View::make('projects.edit', compact('project', 'clients')); 
} 

Сейчас, на мой взгляд, я сейчас делаю это

<div class="form-group"> 
    {!! Form::label('clientName', 'Client Name:', array('class' => 'col-sm-5 control-label blue')) !!} 
    <div class="col-sm-7"> 
     <select class="clientName" name="clientName"> 
      @foreach($clients as $client) 
       @if (Input::old('clients') == $client->id) 
       <option value="{{ $client->id }}" selected="selected">{{ $client->clientName }}</option> 
       @else 
       <option value="{{ $client->id }}">{{ $client->clientName }}</option> 
       @endif 
      @endforeach 
     </select> 
    </div> 
</div> 

Я я пытаюсь сделать это, если опция выбора по умолчанию установлена ​​как старый вход. На данный момент выбор отображает все клиенты, но старое значение не является значением по умолчанию.

Как я могу сделать это по умолчанию?

Благодаря

Update Я делаю альтернативный способ, которым я пытаюсь. В моей функции редактирования я

public function edit(Project $project) 
{ 
    $clients = Client::lists('clientName', 'id'); 

    return View::make('projects.edit', compact('project', 'clients')); 
} 

А потом на мой взгляд, я

<div class="form-group"> 
    {!! Form::label('clientName', 'Client Name:', array('class' => 'col-sm-5 control-label blue')) !!} 
    <div class="col-sm-7"> 
     {!! Form::select('clientName', $clients, Input::old('clients'), ['class' => 'clientName']) !!} 
    </div> 
</div> 

Казаться, чтобы иметь один и тот же вопрос, хотя, клиент не старый клиент в качестве опции по умолчанию выбран.

Благодаря

+0

humn ... если вы позволите мне спросить, что вы пытаетесь изменить? старый («клиенты»), который вы используете, относится к чему? Знаете ли вы о методе Form :: model? Есть более простые способы получить то, что вы хотите сделать. Посмотрим, смогу ли я помочь тебе. Btw, вы можете использовать 'Client :: lists ('clientName', 'id')' вместо 'Client :: select ('clientName', 'id') -> get()', не так ли? – cbcaio

+0

Я обновил исходное сообщение, которое использует опцию списка вместо –

+0

Я не очень хорошо понял, какова ваша новая проблема, можете ли вы объяснить немного лучше? – cbcaio

ответ

1

Ваше имя выбрать clientName, но старый вход смотрит на поле с именем clients.

Следующая должно работать:

<option value="{{ $client->id }}" {!! old('clientName', $project->client->id) == $client->id ? 'selected="selected"' : '' !!}>{{ $client->clientName }}</option> 
Смежные вопросы