Как правильно использовать связку League/CsvPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как правильно использовать связку League/Csv

Сообщение Anonymous »

Я пытаюсь использовать пакет League/csv, чтобы создать опцию, позволяющую пользователям вставлять CSV-файл в базу данных сайта через интерфейс выбора файлов.
https://csv.thephpleague.com/9.0/
Мне удалось сделать первые шаги: создать команду, прочитать CSV-файл и выполнить над ним «эхо».

Код: Выделить всё

protected function execute(
InputInterface $input,
OutputInterface $output
): int {

$io = new SymfonyStyle($input, $output);
$io->title('Import CSV ...');

$csv = Reader::from('src/Data/testuser.csv', 'r');
$csv->setHeaderOffset(0);
$csv->setEscape('');
$records = $csv->getRecords();
echo $csv->toString();

$io->success('Great CSV in DB !');

return Command::SUCCESS;
}
Дальнейшее усложняется использованием foreach. Я нашел несколько «решений» в Интернете, но большинство из них кажутся устаревшими.

Код: Выделить всё

   foreach ($records as $record){
$user = (new User())
->setName($record['name'])
->setSurname($record['surname'])
->setEmail($record['email'])
->setRoles($record['roles'])
->setPlainPassword($record['plainPassword'])
;
$this->em->persist($user);
}
$this->em->flush();
Я читал в документации об использовании PDOStatement, но это меня смутило. Я видел видео, где кто-то использует этот пакет без PDO, но этому видео уже 8 лет.

Подробнее здесь: https://stackoverflow.com/questions/798 ... v-properly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»