Мне нужно иметь возможность просматривать список переменных запроса laravel и что-то с ними делать. Я хочу иметь возможность использовать переменную при вызове объекта запроса, чтобы я мог запустить его в цикле, вместо того, чтобы писать строку кода для каждого.
Например, мои текстовые вводы могут иметь имена, которые выглядят примерно так
contact_main_name
contact_main_telephone
contact_main_email
contact_sub_name
contact_sub_telephone
contact_sub_email
contact_backup_name
contact_backup_telephone
contact_backup_email
В моем запросе я не хочу писать
$request->contact_main_name
$request->contact_main_telephone
Для каждого отдельного типа контактов, которые у меня могут быть, я хочу иметь возможность проходить через них, например, так:
$contactTypes = [
'main',
'sub',
'backup',
'head'
];
foreach($contactTypes as $type){
//Start a new contact
$contact = new Contact;
$contact->type = $type;
$contact->name = $request->${"contact_".$type."_name"};
$contact->telephone = $request->${"contact_".$type."_telephone"};
$contact->email = $request->${"contact_".$type."_email"};
$contact->save();
}
Как бы я использовал имя переменной при вызове laravel $request
, чтобы я мог просто создать массив возможных типов и просмотреть их все?
Примечание
Я знаю, что могу редактировать сами поля ввода так, чтобы они выглядели как name="contact[type][name]"
, а затем проходить через них, но я не могу изменить имена входов, я должен сделать это через php в самом контроллере.