LeagueCSV:getRecords() 上的未定义索引

LeagueCSV: undefined index on getRecords()

我正在尝试从 symfony 中的 csv 文件创建用户。我正在使用 LEAGUECSV。

我在执行 php ./bin/console doctrine:fixtures:load

时遇到此错误

Notice: Undefined index: FIRST_NAME

这是我的灯具:

class UserFixture extends Fixture
{
    private $encoder;

    public function __construct(UserPasswordEncoderInterface $encoder)
    {
        $this->encoder = $encoder;
    }

    public function load(ObjectManager $manager)
    {

            $reader = Reader::createFromPath('%kernel.root_dir%/../src/CSVDATA/dbigo.csv');

            foreach ($reader->getRecords() as $result) {
                $user = New User();

                $user->setUsername($result['FIRST_NAME'].$result['LAST_NAME']);

                $user->setPassword(
                    $this->encoder->encodePassword($user,$result['NATREG'])
                );
                $user->setEmail($result['EMAIL']);

                $manager->persist($user);
            }
            $manager->flush();
       }
}


我尝试使用 fetchAssoc 但显然该功能已在 LEAGUECSV 的更新版本中删除

我的 csv 文件在第一列中有所有索引

如果您希望记录作为关联数组返回,您需要指定 header 偏移量:https://csv.thephpleague.com/9.0/reader/#csv-records

$reader = Reader::createFromPath('%kernel.root_dir%/../src/CSVDATA/dbigo.csv');
$reader->setHeaderOffset(0);

foreach ($reader->getRecords() as $result) {
    // $result is now an associative array based on the header row
}