Я пытаюсь импортировать CSV-файл в laravel, который содержит данные для хранения в нескольких таблицах в базе данных MySQL.На самом деле у меня есть Контакты с несколькими электронными письмами, адресами, телефонами и т. Д., Поэтому я хочу, чтобы они сохранялись в соответствующей таблице вместе с contactId контакта, недавно созданного из CSV.
На данный момент вставка в одну таблицу работаетно когда я ввожу столбцы, такие как электронная почта, адрес и т. д., которые должны быть вставлены в другие таблицы, это дает мне столбец, не найденный в таблице контактов, поскольку столбец адреса электронной почты и т. д. отсутствует.
Метод контроллера для вставки
public function processImport(Request $request){
$data = CsvData::find($request->csv_data_file_id);
$csv_data = json_decode($data->csv_data, true);
foreach ($csv_data as $row) {
$contact = new Contact(); //Insertion in Contact table
foreach (config('app.contact_fields') as $index => $field) {
if ($data->csv_header) {
$contact->$field = $row[$request->fields[$field]];
} else {
$contact->$field = $row[$request->fields[$index]];
}
}
$contact->save(); //Insertion in Contact table
$id = $contact->id;
}
return 'Successfully imported!';
}
Теперь я хочу знать, есть ли способ отделить столбцы для вставки в отдельные таблицы от одного импортированного CSV?Любая помощь будет высоко оценен.Спасибо