повторное заполнение старого входа формы массива laravel

#laravel

Вопрос:

У меня есть формы и системные теги, js добавляет элемент li. При просмотре и возврате формы ошибок понятны. Я нашел old функцию: {{ old('name') }} но это, похоже, не работает для полей массива, таких как мое multiTag поле. При использовании old('multiTag') отображается следующая ошибка:

htmlspecialchars(): Аргумент #1 ($string) должен иметь тип string, массив

Можно ли показать старое значение в виде li в элементе div или ul?

Комментарии:

1. пожалуйста, поделитесь некоторым кодом, ожидаемым результатом и ошибкой, которую вы получаете.

Ответ №1:

Чтобы получить значение массива с old() помощью метода Laravel, проанализируйте ключ нужного вам значения после имени поля.

 {{ old('field.0') }}
 

Или вы могли бы сделать что-то вроде:

 @foreach(old('field') as $key => $field)
   {{ old('field.'.(int) $key) }}
@endforeach
 

Комментарии:

1. Спасибо за ответ. Еще один вопрос: как проверить, сколько позиций массива? Вы можете вручную добавить 30 элементов, но выбора решения нет.

2. Это может быть похоже count(old('field')) на то , потому что old возвращает массив.

3. Вы должны проверить свой контроллер и/или форму, если хотите ограничить количество значений.