Olá!
Fiz o require o ORM
composer require symfony/orm-pack
criei o banco
php bin\console doctrine:database:create
Ao criar o construct no controller usando EntityManagerInterface eu não consigo chamar os métodos persist e flush, pois não reconhecem o método
Ao verificar , use Doctrine\ORM\EntityManagerInterface; , fala que tem 2 definições?
O que deve fazer para resolver esse erro?
<?php
namespace App\Controller;
use App\Entity\Medico;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class MedicoController{
/**
* @var EntityManagerInterface
*/
private $entityManager;
public function __construct (EntityManagerInterface $entityManager){
$this->entityManager = $entityManager;
}
/**
* @Route("/medico", methods={"POST"})
*/
public function novo(Request $request): Response{
$corpoRequisicao = $request->getContent();
$dadosObjeto = json_decode($corpoRequisicao);
$medico = new Medico();
$medico->crm = $dadosObjeto->crm;
$medico->nome = $dadosObjeto->nome;
$this->entityManager->persist();
$this->entityManager->flush();
return new JsonResponse($medico);
}
}