2017-08-28 26 views
0

私はLaravelで編集フォームを作成していますが、選択ドロップダウンで選択した(データベース)値を選択したいと思います。私は今、以下のようにしています。正しい方法やそれ以上のものが可能ですか?私はLaravel 5.4を使用しています。Laravel編集フォーム - デフォルト選択を選択

<select class="form-control" id="type" name="type"> 
    <option value="admin" @if($user->type==='admin') selected='selected' @endif>Admin</option> 
    <option value="telco" @if($user->type==='telco') selected='selected' @endif>Telco</option> 
    <option value="operator" @if($user->type==='operator') selected='selected' @endif>Operator</option> 
    <option value="subscriber" @if($user->type==='subscriber') selected='selected' @endif>Subscriber</option> 
</select> 

答えて

1

これは通常の方法です。

あなたはそれがより多くの「友好的」それはループに、このような選択、何かのすべてのオプション作成し、配列@foreachループを使用して、たとえば、いくつかのオーバーヘッドを取るようにしたい場合:

$arr = ['admin','telco','operator','subscriber']; 

@foreach($arr as $item) 
    <option value="{{ $item }}" @if($user->type=== $item) selected='selected' @endif> {{ strtoupper($item) }}</option> 
@endforeach 
+0

の三項演算子を使用することができます! – Mohammad

0

また、代わりにこれは理にかなってif

<select class="form-control" id="type" name="type"> 
    <option value="admin" {{($user->type ==='admin') ? 'selected' : ''}}> Admin </option> 
    <option value="telco" {{($user->type ==='telco') ? 'selected' : ''}}> Telco </option> 
    <option value="operator" {{($user->type ==='operator') ? 'selected' : ''}}> Operator </option> 
    <option value="subscriber" {{($user->type ==='subscriber') ? 'selected' : ''}}> Subscriber </option> 
</select> 
関連する問題