Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dando erro Call to a member function persist() on null

Ao tentar salvar o curso, retorana o erro: "Fatal error: Uncaught Error: Call to a member function persist() on null in D:\www\1246-phpmvc-0-projeto-inicial\src\Controller\Persistencia.php:27 Stack trace: #0 D:\www\1246-phpmvc-0-projeto-inicial\public\index.php(22): Alura\Cursos\Controller\Persistencia->ProcessaRequisicao() #1 {main} thrown in D:\www\1246-phpmvc-0-projeto-inicial\src\Controller\Persistencia.php on line 27"

Fiz um vardump no na variável $curso e ela vem assim:

object(Alura\Cursos\Entity\Curso)#2 (2) 
{
["id":"Alura\Cursos\Entity\Curso":private]=> NULL 
["descricao":"Alura\Cursos\Entity\Curso":private]=> string(5) "TESTE" }


    <?php

namespace Alura\Cursos\Controller;

use Alura\Cursos\Infra\EntityManagerCreator;

use Alura\Cursos\Entity\Curso;

//use Doctrine\ORM\EntityManager;

class Persistencia implements InterfaceControladorRequisicao
{
    private $entityManger;

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

public function ProcessaRequisicao()
{
    $descricao = $_POST['descricao'];
    $curso = new Curso();
    $curso->setDescricao($descricao);
    var_dump($curso);
    $this->entityManger->persist($curso);
    $this->entityManger->flush();
}
}
1 resposta
solução!

Já achei, erro de digitação em

$this->entityManger->persist($curso);

e

$this->entityManger->flush();

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