Получение идентификатора из динамического выпадающего списка в Laravel для использования в контроллере CRUD - PullRequest
0 голосов
/ 20 октября 2019

Я работаю с контроллером CRUD, пытаюсь создать человека. Человек принадлежит стране, у меня правильно настроены эти отношения.

В моем представлении создания у меня есть текстовые поля для ввода данных пользователем и динамическое раскрывающееся меню, созданное на основе запросов к таблице Страна.

Моя ошибка, когда я иду, чтобы создать человека, я получаю ошибку - Общая ошибка: 1364 Поле 'country_id' не имеет значения по умолчанию.

Я знаю, это потому, что я не вставляючто-нибудь в country_id, потому что я просто не знаю, как получить идентификатор из динамического выпадающего списка Country.

В моем create.blade.php у меня есть:

    {{csrf_field()}}
    {{method_field('POST')}}
    <div>
    <input type="text" name="name" placeholder="Name"> <br>
    <input type="text" name="age" placeholder="Age"> <br>
    <input type="text" name="role" placeholder="Role"> <br>
    <input type="text" name="batting" placeholder="Batting"> <br>
    <input type="text" name="bowling" placeholder="Bowling"> <br>
    <input type="text" name="odiRuns" placeholder="Odi Runs"> <br>
    <input type="text" name="image" placeholder="Image name"> <br>
    <label>Select a country:</label>
                <select name="country" class="form-control" style="width:350px">
                    <option value="">--- Select Country ---</option>
                    @foreach ($countries as $country => $value)
                        <option value="{{ $country }}">{{ $value->name }}</option>
                    @endforeach
                </select>
    </div>
    <button type="submit" class="button">Create a player</button>
    </div>
    </form>

В моем контроллере яесть -

        $players = new Player();

        $players->name = request('name');
        $players->age = request('age');
        $players->role = request('role');
        $players->batting = request('batting');
        $players->bowling = request('bowling');
        $players->odiRuns = request('odiRuns');
        $players->image = request('image');
        $players->country_id = request('???');

        $players->save();

Кто-нибудь знает, как я могу получить значение country_id из моего динамического раскрывающегося списка? Спасибо

1 Ответ

1 голос
/ 20 октября 2019

Не должно быть $players->country_id = request('country');, так как имя опции выбора - страна

...