X-core
@X-core
начинающий веб разработчик

Как получить и записать в базу все данные с динамического поля формы?

Есть стандартная форма ,поле Телефон - динамическое,можно добавить несколько полей с таким же именем.
Не получается Отправить в БД все данные этого поля и затем уже получить.
Отправляется БД только последняя запись данного поля.
View:
<form method="POST" action="{{route('posts.store')}}">
            {{ csrf_field() }}
            <button type="submit" class="btn btn-success mb-3">Добавить запись</button>

            <div class="form-group">
                <label for="post-name">Имя</label>
                <input type="text" name="name" value="{{old('name')}}" class="form-control" id="post-name">
            </div>
            <div class="form-group">
                <label for="post-surname">Фамилия</label>
                <input class="form-control" type="text" name="surname" value="{{old('surname')}}" id="post-surname">


            </div>
            <label for="post-phone">Телефон</label>
            <div class="entry input-group" id="dynamic_field">
                <input type="phone" name="phone" value="{{old('phone')}}" class="form-control" id="post-phone">
                <span class="input-group-btn">
                            <button class="btn btn-success btn-add" name="add" id="add" type="button">
                                <span class="glyphicon glyphicon-plus"></span>
                            </button>
                        </span>

            </div>

        </form>

Controller:
public function store(Request $request)
    {
        $request->validate([
            'name' => 'required|max:255',
            'surname' => 'required|max:255',
            'phone' => 'required',
        ]);

        $post = new Post([
           'name' => $request->get('name'),
           'surname' => $request->get('surname'),
           'phone' => $request->get('phone'),
        ]);
        $post->save();
        return redirect('/posts')->with('success', 'Запись добавлена');
    }

Отправляю:
5eb2fe803afc6039824669.jpeg
Получаю:
5eb2fe89ee1ff175535471.png
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
У вас несколько полей с одинаковым именем 'phone'. Соответственно, при разборе строки запроса PHP сохраняет в $_POST['phone'] только последнее из них.
Можете передать поля как массив, задав name='phone[]'.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы