Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro ao criar um novo curso - Aula 3 atividade 2

A váriavel $_POST['descricao'] está vindo null, o formulário está com o nome correto (descricao). Mesmo copiando o código disponibilizado na aula, o erro é exibido.

Fatal error: Uncaught TypeError: Argument 1 passed to Alura\Cursos\Entity\Curso::setDescricao() must be of the type string, null given, called in C:\Users\User\gerenciador-de-cursos\src\Controller\Persistencia.php on line 30 and defined in C:\Users\User\gerenciador-de-cursos\src\Entity\Curso.php:37 Stack trace: #0 C:\Users\User\gerenciador-de-cursos\src\Controller\Persistencia.php(30): Alura\Cursos\Entity\Curso->setDescricao(NULL) #1 C:\Users\User\gerenciador-de-cursos\public\index.php(20): Alura\Cursos\Controller\Persistencia->processaRequisicao() #2 {main} thrown in C:\Users\User\gerenciador-de-cursos\src\Entity\Curso.php on line 37

<?php


namespace Alura\Cursos\Controller;


use Alura\Cursos\Entity\Curso;
use Alura\Cursos\Infra\EntityManagerCreator;

class Persistencia implements InterfaceControladorRequisicao
{
    private $entityManager;

    public function __construct()
    {
        $this->entityManager = (new EntityManagerCreator())->getEntityManager();

    }

    public function processaRequisicao(): void
    {
        $curso = new Curso();
        $curso->setDescricao($_POST['descricao']);
        $this->entityManager->persist($curso);
        $this->entityManager->flush();
    }
}
2 respostas

Fala, Franklin. Blz?

Me manda o código da sua view, por favor, pra eu analisar?

solução

Bom dia Vinicius,

Do nada funcionou.

Obrigado.