1
resposta

Uncaught TypeError: Argument 1 passed to {closure}() must be an instance of Telefone

Pessoal, boa tarde. Implementando a busca de alunos, recebi o erro acima ao tentar copiar o exemplo.

PHP Fatal error:  Uncaught TypeError: Argument 1 passed to {closure}() must be an instance of Telefone, instance of Curso\Doctrine\Entity\Telefone 

Só consegui resolver este problema removendo o tipo da função anônima passada para o map.

De:

    $arrayOfNumeros = $telefones->map(function(Telefone $telefone) {
        return $telefone->getNumero();
    })->toArray();

Para:

    $arrayOfNumeros = $telefones->map(function($telefone) {
        return $telefone->getNumero();
    })->toArray();

Gostaria de saber se existe alguma forma de manter a função com tipo, ou se estou fazendo algo de errado.

Obrigado, Daniel

1 resposta

Olá, Daniel. Perdão pela demora.

Faltou você importar a classe Telefone do namespace correto no arquivo onde você tem essa closure.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software