Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.05.2020 12:49:25

При отправке формы данные полей приходят не в выбранном порядке.

Подскажите, есть данные отправленные формой в виде массива, request приходит но с данными только первого поля кроме поля 'id', и соответственно пишет в БД данные переданные не из тех полей.
Если выбрать все записи для обновления то они идут все по порядку и соответственно обновление происходит как нужно.
Вопрос: как определить нужные поля на уровне php или js, что-бы приходили данные тех полей которые выбраны?
Request обробатываю с помощью:
      if (isset($ids)) {
            foreach ($ids as $key => $val) {
                if (array_key_exists($key, $cars) && array_key_exists($key, $drivers) && array_key_exists($key, $select)) {
                    $data[$key] = [
                        'id' => $val,
                        'car' => $cars[$key],
                        'driver' => $drivers[$key],
                        'select' => $select[$key],
                        'name' => $name[$key],
                        'number' => $number[$key]
                    ];
                }
            }
        }

При выборе любого поля кроме первого данные прикрепляет с первого поля и так далее по списку.

Не в сети

#2 01.08.2020 14:53:29

Re: При отправке формы данные полей приходят не в выбранном порядке.

В форме указываешь каждого инпута, например name="car".
Затем в экшене пишешь:

$data = request()->validate([
    'car' => '' // это значит, что у валидации нет требований никаких к полю
]);

Далее получаешь данные $data['car'];

Можно без валидации:
$car = request('car');

В чем собственно затык? Поля не прописаны?(name=)??

Не в сети

Подвал раздела