2017-03-23 10 views
0

ユーザが自分のプロファイル設定を編集できるページがあります。データはdbから読み込まれ、電子メール、都市、挨拶、名字、姓などの多くのフィールドのデフォルト値として表示されます。 国のフィールドではDBからリストを取得していますが、常に最初のオプションが表示されますこの場合アフガニスタン)。ユーザーが以前に国を「事前選択」した場合、このフィールドをデフォルト値に設定するにはどうすればよいですか?たとえば、ユーザーが以前にドイツを選択して保存していた場合、このオプションをアフガニスタンではなくデフォルトとして表示する必要があります。私は最初の名のようにデフォルトとして$user->countryを設定するにはどうすればよいデフォルトのオプションを選択ボックスのDBから設定します

{!!Form::open(array('url' => 'editUserProfile/'.$user->id, 'files' => true))!!} 
    <input class="form-control" type="text" name="firstName" value="{{$user->firstName}}" required> 
     <select class="form-control" name="country"> 
      @foreach($countries as $country) 
       <option>{{$country->country_name}}</option> 
      @endforeach 
     </select> 
{!! Form::close() !!} 

<select class="form-control" name="country"> 
    @foreach($countries as $country) 
     <option value="{{$country->country_name}}" {{ $country->country_name == $user->country? ' selected' : '' }}>{{$country->country_name}}</option> 
    @endforeach 
</select> 

国名をサーバーに渡すことができるように、私はvalue属性を追加しました:

+0

'する$ user-> country' ==' $各国> country_name'エコー 'selected'場合 –

答えて

1

はここにいくつかのコードです。 さらに、現在の$country->country_name$user->countryに等しいかどうかをチェックするために3項演算子を追加しました。

1

これは役立つかもしれない:

@foreach($countries as $country) 
    <option value="{{ $country->id }}" <?php if($user->country_id == $country->id){ echo "selected"; } ?> >{{$country->country_name}}</option> 
@endforeach 
関連する問題