Olá, pessoal!
Estou com dificuldade para entender o erro que surgiu ao buscar os alunos. O meu arquivo buscar-alunos.php está assim:
use Alura\Doctrine\Entity\Aluno;
use Alura\Doctrine\Entity\Telefone;
use Alura\Doctrine\Helper\EntityManagerFactory;
require_once __DIR__ . '/../vendor/autoload.php';
$entityManagerFactory = new EntityManagerFactory();
$entityManager = $entityManagerFactory->getEntityManager();
$alunoRepository = $entityManager->getRepository(Aluno::class);
/** @var Aluno[] $alunoList */
$alunoList = $alunoRepository->findAll();
foreach ($alunoList as $aluno) :
$telefones = $aluno
->getTelefones()
->map(function (Telefone $telefone) {
return $telefone->getNumero();
})
->toArray();
echo "ID: {$aluno->getId()}\n";
echo "Nome: {$aluno->getNome()}\n";
echo "Telefones: " . implode(', ', $telefones);
echo "\n\n";
endforeach;
E o erro exibido no prompt de comando é:
C:\Edesign\alura\php\doctrine\doctrine-alura>php commands\buscar-alunos.php
PHP Notice: Undefined index: Aluno in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\Entity\BasicEntityPersister.php on line 1779
Notice: Undefined index: Aluno in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\Entity\BasicEntityPersister.php on line 1779
PHP Notice: Trying to access array offset on value of type null in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\Entity\BasicEntityPersister.php on line 1783
Notice: Trying to access array offset on value of type null in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\Entity\BasicEntityPersister.php on line 1783
PHP Warning: Invalid argument supplied for foreach() in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\Entity\BasicEntityPersister.php on line 1783
Warning: Invalid argument supplied for foreach() in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\Entity\BasicEntityPersister.php on line 1783
PHP Notice: Undefined index: Aluno in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\PersistentCollection.php on line 168
Notice: Undefined index: Aluno in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\PersistentCollection.php on line 168
PHP Fatal error: Uncaught Error: Call to a member function setValue() on null in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\PersistentCollection.php:168
Stack trace:
#0 C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\ObjectHydrator.php(511): Doctrine\ORM\PersistentCollection->hydrateAdd(Object(Alura\Doctrine\Entity\Telefone))
#1 C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\ObjectHydrator.php(162): Doctrine\ORM\Internal\Hydration\ObjectHydrator->hydrateRowData(Array, Array)
#2 C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\AbstractHydrator.php(153): Doctrine\ORM\Internal\Hydration\ObjectHydrator->hydrateAllData()
#3 C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\Entity\BasicEntityPersister.php(952): Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll(Object(Doctrine\DBAL\Dri in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\PersistentCollection.php on line 168
Fatal error: Uncaught Error: Call to a member function setValue() on null in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\PersistentCollection.php:168
Stack trace:
#0 C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\ObjectHydrator.php(511): Doctrine\ORM\PersistentCollection->hydrateAdd(Object(Alura\Doctrine\Entity\Telefone))
#1 C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\ObjectHydrator.php(162): Doctrine\ORM\Internal\Hydration\ObjectHydrator->hydrateRowData(Array, Array)
#2 C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\AbstractHydrator.php(153): Doctrine\ORM\Internal\Hydration\ObjectHydrator->hydrateAllData()
#3 C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\Entity\BasicEntityPersister.php(952): Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll(Object(Doctrine\DBAL\Dri in C:\Edesign\alura\php\doctrine\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\PersistentCollection.php on line 168
Alguém pode me dar um help?
Desde já, agradeço.