laravel填充选择框

时间:2015-08-04 09:08:39

标签: php laravel laravel-5

我之前遇到过类似的问题,但无法找到解决问题的方法。所以我有一个ClientController,其中有这个函数

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值填充。如果我把它作为文本输入填充,则填充clientStatus,但我无法在select中填充它,如上所示。此外,clientStatus可以是New或Existing。我需要使用正在编辑的客户端的状态预先填充选择框,但我还需要选择中的其他选项。因此,如果clientStatus为New,则应在选择框中预先选择New,如果我打开select,则Existing应该是另一个选项。

实现这一目标的最佳方式是什么?

由于

1 个答案:

答案 0 :(得分:1)

修改您的选择以包含可能值的数组。

基本选择 - 标签是值

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

键值选择 - 键是值

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

然后,表单模型会将select中的值设置为模型中的值。

有关详细信息,请参阅docs