Bonjour,
je reprends avec symfony, suis sûr un petit projet concernant la messagerie instantanée, j'essaie de lire les messages reçu mais j'ai cette erreur qui s'affiche : Cannot autowire argument $message of "App\Controller\MessagesController::read()": it references class "App\Entity\Messages" but no such service exists.
Voici mon controller :
<?php
namespace App\Controller;
use App\Entity\Messages;
use App\Form\MessageType;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class MessagesController extends AbstractController
{
#[Route('/messages', name: 'messages')]
public function index(): Response
{
return $this->render('messages/index.html.twig', [
'controller_name' => 'MessagesController',
]);
}
#[Route('/send', name: 'send')]
public function send(Request $request, ManagerRegistry $doctrine): Response
{
$message = new Messages;
$form = $this->createForm(MessageType::class, $message);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$message->setSender($this->getUser());
$em = $doctrine->getManager();
$em->persist($message);
$em->flush();
$this->addFlash("message", "Message envoyé avec succès.");
return $this->redirectToRoute("messages");
}
return $this->render("messages/send.html.twig", [
'form' => $form->createView(),
]);
}
#[Route('/message-received', name: 'received')]
public function received(): Response
{
return $this->render('messages/received.html.twig');
}
#[Route('/read/{id}', name: 'read')]
public function read(Messages $message, ManagerRegistry $doctrine): Response
{
$message->setIsRead(true);
$em = $doctrine->getManager();
$em->persist($message);
$em->flush();
return $this->render('messages/read.html.twig', compact("message"));
}
}
Ce que je veux
Lire les messages non lus
Ce que j'obtiens
Cannot autowire argument $message of "App\Controller\MessagesController::read()": it references class "App\Entity\Messages" but no such service exists.