Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Подскажите, есть данные отправленные формой в виде массива, 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]
];
}
}
}
При выборе любого поля кроме первого данные прикрепляет с первого поля и так далее по списку.
Не в сети
В форме указываешь каждого инпута, например name="car".
Затем в экшене пишешь:
$data = request()->validate([
'car' => '' // это значит, что у валидации нет требований никаких к полю
]);
Далее получаешь данные $data['car'];
Можно без валидации:
$car = request('car');
В чем собственно затык? Поля не прописаны?(name=)??
Не в сети