Bonjour à tous j'ai cette erreur lorsque je j'essaye de voir le details d'un article
Cannot autowire argument $article of "App\Controller\BlogController::view()": it references class "App\Entity\Article" but no such service exists.
/**
* @Route("/article/{id}-{slug}", name="article_view")
*
*/
public function view($id,$slug,ArticleRepository $articleRepository) {
$article = $articleRepository->findOneById($id);
return $this->render('article/view.html.twig', compact('article'));
}
il faut pas oublier les import
use App\Repository\ArticleRepository;
Bonjour,
Tu peux même simplifier en utilisant le paramConverter de symfony :
use App\Entity\Article;
/**
* @Route("/article/{slug}", name="article_view")
*
*/
public function view(Article $article) {
return $this->render('article/view.html.twig', compact('article'));
}
Merci bien mais le soucis c'est le controller j'essaye de affiche les commentaires et le détails d'un article sur la meme page mais lorsque je passe l'article en parametre pour faire faire persisté avec le commentaire en question j'ai cette erreur
Cannot autowire argument $article of "App\Controller\BlogController::view()": it references class "App\Entity\Article" but no such service exists.
Bonjour voici le code
/**
@return Response
*/
public function view(Article $article, Request $request, EntityManagerInterface $manager,ArticleRepository $articleRepository){
$comment= new Comment();
$form=$this->createForm(CommentType::class, $comment);
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid()){
$comment->setCreatedAt(new \DateTime())
->setArticle($article);
$comment->setAuthor($this->getUser()->getUsername());
$manager->persist($comment);
$manager->flush();
return $this->redirectToRoute('view',[
'id'=>$article->getId()
]);
}
return $this->render('blog/view.html.twig', [
'article' => $article,
'commentForm'=> $form->createView(),
'articlees'=>$articleRepository->findArticleRecent()
]);