Как получить значение страны на основе кода страны? - PullRequest
0 голосов
/ 06 июля 2018

Этот код "$countries = Facades\Countries::all();" возвращает код страны и значение кода, например:

  "DE" => "Germany"

Я хочу сохранить страну пользователя в БД, когда пользователь выбирает страну в меню выбора

 <div class="form-group">
    <label for="country" class="text-gray">Country</label>
    <select class="form-control" name="country" id="country">
        @foreach($countries as $key => $country)
            <option value="{{$key}}">{{$country}}</option>
        @endforeach
    </select>
</div>

Но с:

$user->country = $request->country;
$user-save();

В БД хранится "DE", но я хочу сохранить значение страны, как "Германия". Знаете ли вы, как на основе кода страны получить значение, чтобы можно было сохранить значение, а не код?

Ответы [ 3 ]

0 голосов
/ 06 июля 2018

попробуйте это, замените {{$key}} на {{$country}} в опции

<div class="form-group">
    <label for="country" class="text-gray">Country</label>
    <select class="form-control" name="country" id="country">
        @foreach($countries as $key => $country)
            <option value="{{$country}}">{{$country}}</option>
        @endforeach
    </select>
</div>
0 голосов
/ 06 июля 2018

Поместите название страны в значение выбора опций. Заменить {{$key}} на {{$country}}:

@foreach($countries as $country)
    <option value="{{$country}}">{{$country}}</option>
@endforeach
0 голосов
/ 06 июля 2018

В БД хранится "DE", но я хочу сохранить значение страны как "Германия".

Вам просто нужно использовать как:

$countries = Facades\Countries::all();
$user->country = $countries[$request->country];

Просто убедитесь, что Facades\Countries::all() не влияет на производительность, я полагаю, он извлекает данные из базы данных.

OR

Другое решение - удалить атрибут value из тега option.

<option>{{$country}}</option>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...