Bonjour,

Voici l'erreur que je rencontre actuellement :
Cannot autowire argument $manager of "App\Controller\BlogController::create()": it references interface "Doctrine\Common\Persistence\ObjectManager" but no such service exists. You should maybe alias this interface to the existing "doctrine.orm.default_entity_manager" service.

Et voici mon controller :

<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\Common\Persistence\ObjectManager;
use App\Entity\Article;
use App\Repository\ArticleRepository;

class BlogController extends AbstractController
{
   /**
     * @Route("/blog/new", name="blog_create")
     */
    public function create(ObjectManager $manager)
    {
            $article = new Article();
            $article->setTitle('Titre statique de mon article')
                    ->setContent('Contenu statique de mon article')
                    ->setImage('Image statique de mon article')
                    ->setCreatedAt(new \DateTime());

            $manager->persist($article);
            $manager->flush();

           return $this->render('blog/create.html.twig');
    }
 }

NB : je débute sur Symfony 4, veuillez m'excuser si ma question vous semble triviale et merci d'avance pour vos réponses :)

3 réponses


gktforum
Auteur

[]( Beezkit, Il y a 11 heures - Signaler
Il a répondu à ma question !

Bonjour gktforum,

Essaye ce qui suit dans le lien : https://stackoverflow.com/questions/59240233/symfony-4-cannot-autowire-argument-manager-of-it-references-interface-do
)

Bonjour Beezkit, et merci pour la réponse.

Effectivement j'ai résolu le problème en remplaçant Doctrine\Common\Persistence\ObjectManager par Doctrine\ORM\EntityManagerInterface

Bonjour gktforum,

Content que cette solution fut la bonne pour toi. Bonne continuation dans ton projet.