2017-03-23 2 views
0

Ich habe eine Seite, wo Benutzer ihre Profileinstellungen bearbeiten können. Daten werden von DB gelesen und als Standardwerte für viele Felder wie E-Mail, Stadt, Anrede, Vorname, Nachname etc. angezeigt. Aber für Land Feld bekomme ich die Liste von DB und immer die erste Option wird angezeigt (in diesem Fall Afghanistan). Wie kann ich dieses Feld auf den Standardwert setzen, wenn der Benutzer das Land vorher ausgewählt hat? Wenn der Benutzer beispielsweise Deutschland ausgewählt und gespeichert hat, möchte ich, dass diese Option als Standard angezeigt wird, nicht Afghanistan.Standard-Option von DB in Auswahlfeld setzen

{!!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() !!} 

Wie kann ich $user->country als Standard wie für einen Vornamen?

+0

wenn '$ user-> country' ==' $ landes-> country_name' echo 'selected' –

Antwort

1

Hier einige Code:

<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> 

Ich habe value Attribut, um Ländernamen an den Server übergeben werden können. Und hinzugefügt ternären Operator zur Überprüfung, ob aktuelle $country->country_name entspricht $user->country.

1

Dies könnte helfen:

@foreach($countries as $country) 
    <option value="{{ $country->id }}" <?php if($user->country_id == $country->id){ echo "selected"; } ?> >{{$country->country_name}}</option> 
@endforeach 
Verwandte Themen