No Aluno.php o método getTelefones() retorna um Collection:
public function getTelefones(): Collection
{
return $this->telefones;
}
Quando o script busca-aluno.php roda, aparentemente não reconhece o método map() (phpStorm :Method 'map' not found in mysql_xdevapi\Collection ):
foreach ($alunoList as $aluno){
$telefones = $aluno->getTelefones()->map(function (Telefone $telefone) {
return $telefone->getNumero();
})
->toArray();
echo "ID: {$aluno->getId()} \n NOME: {$aluno->getNome()}\n";
echo "Telefones:" . implode(', ', $telefones);
echo "\n\n";
}
E no terminal retorna o seguinte erro :
PHP Fatal error: Uncaught TypeError: Return value of Alura\Doctrine\Entity\Aluno::getTelefones() must be an instance of mysql_xdevapi\Collection, instance of Doctrine\ORM\PersistentCollection
returned in C:\Users\admin\Documents\projetos-2020\treinamento_doctrine\src\Entity\Aluno.php:60
Stack trace:
#0 C:\Users\admin\Documents\projetos-2020\treinamento_doctrine\commands\busca-aluno.php(19): Alura\Doctrine\Entity\Aluno->getTelefones()
#1 {main}
thrown in C:\Users\admin\Documents\projetos-2020\treinamento_doctrine\src\Entity\Aluno.php on line 60
Quando eu retiro o : Collection funciona normal
$ php commands/busca-aluno.php
ID: 2
NOME: Isaac Mendes
Telefones:(11) 5953-9915
ID: 3
NOME: Felipe Mendes
Telefones:(11) 5926-6532, (11) 96644-5522
ID: 4
NOME: Cintia Mendes
Telefones:(11) 5926-6532, (11) 96644-5522
não consegui entender o erro, se alguém souber da um help, só pra não passar em branco....
Obrigado