#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. Вы должны проверить свой контроллер и/или форму, если хотите ограничить количество значений.