2015-08-04 4 views
0

Я видел похожие вопросы, заданные раньше, но не смог найти решение моей проблемы. Таким образом, у меня есть ClientController и внутри него эта функцияlaravel populate select box

public function edit(Client $client) 
{ 
    return view('clients.edit', compact('client')); 
} 

Так, чтобы объект клиента был передан в мое редактируемое представление. Этот вид выглядит следующим образом:

{!! Form::model($client, ['method' => 'PATCH', 'route' => ['clients.update', $client->slug]]) !!} 
@include('clients/partials/_form', ['submit_text' => 'Edit Client']) 
{!! Form::close() !!} 

Таким образом, для формы требуется частичное изображение. На данный момент, парциальное выглядит так

<div class="form-group"> 
    {!! Form::label('clientName', 'Client Name:') !!} 
    {!! Form::text('clientName') !!} 
</div> 
<div class="form-group"> 
    {!! Form::label('clientStatus', 'Client Status:') !!} 
    {!! Form::select('clientStatus') !!} 
</div> 

Когда я захожу на страницу редактирования для клиента, я могу видеть форму. Имя clientName заполняется значением clientName. КлиентStatus заполняется, если я помещаю его как текстовый ввод, но я не могу его заполнить в пределах выбора, как показано выше. Кроме того, clientStatus может быть либо новым, либо существующим. Мне нужно, чтобы поле выбора было предварительно заполнено статусом клиента, который редактируется, но мне нужен другой вариант, доступный и в выборе. Поэтому, если clientStatus New, New должен быть предварительно выбран в поле выбора, и если я открою выбор, Existing должен быть другим вариантом.

Что было бы лучшим способом достичь этого?

Благодаря

ответ

1

Изменить ваш выбор, чтобы включать множество возможных значений.

Basic Select - Ярлык это значение

{!! Form::select('clientStatus',['New','Existing']) !!} 

Key Value Select - Key является значением

{!! Form::select('clientStatus',[ 1 => 'New', 2 => 'Existing']) !!} 

форма модель будет затем установить значение в поле выбора таковой в модели.

Более подробную информацию см. На docs.

+0

Я должен был написать решение, но сначала вы приступите к нему, проголосуйте. –

+1

Отлично, спасибо –