Я пытаюсь сделать простой загрузчик CSV с контактами и сделать их массивом, используя сериализатор Symfony / кодировщик CSV.Проблема в том, что когда я получаю данные из csv и выкидываю их, я получаю все нормально, я думаю.Но когда я хочу перебрать массив для отображения поля электронной почты или попытаться создать новые объекты и сохранить их в базе данных, я получаю сообщение об ошибке, что индекс «Адрес электронной почты» не определен.Как это возможно, если, когда я var_dump в цикле и умираю после первого массива в списке, я вижу, что поле 'Адрес электронной почты' существует.
Ссылка на изображение - https://imgur.com/a/7bSJT0z
/**
* @Route("/upload-csv", name="upload")
*/
public function uploadCsv(Request $request)
{
$form = $this->createForm(ContactType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid())
{
$em = $this->getDoctrine()->getManager();
$data = $form->getData();
$file = $data->getCsv();
//dump($file);
$serializer = $this->container->get('serializer');
$cons = $serializer->decode(file_get_contents($file), 'csv');
foreach ($cons as $con)
{
$contact = new Contact();
$contact->setEmail($con['Email Address']);
$contact->setFirstName($con['First Name']);
$contact->setLastName($con['Last Name']);
$contact->setCountry($data->getCountry());
$em->persist($contact);
}
$em->flush();
}
return $this->render('base.html.twig', [
'form' => $form->createView()
]);
}