Bonjour a tous je suis Donald débutant en symfony version 5.2
j'arrive à inserer les données en base de données mais le soucis c'est que j'arrive pas les afficher sur ma vue aidez moi svp
//mon controller
<?php
namespace App\Controller;
use App\Entity\Achat;
use App\Form\EnregistrementType;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Constraints\DateTime;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class GestionController extends AbstractController
{
public function index(Request $request, EntityManagerInterface $manager): Response
{
$achat= new Achat();
$form=$this->createForm(EnregistrementType::class , $achat);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$achat->setCreateAt(new \DateTime());
$manager->persist($achat);
$manager->flush();
}
return $this->render('gestion/gestion.html.twig', [
'form' =>$form->createView()
]);
}
}
//mon controller pour afficher les achats
<?php
namespace App\Controller;
use App\Entity\Achat;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class AffichageController extends AbstractController
{
public function index(): Response
{
$achats=$this->getDoctrine()->getRepository(Achat::class)->findAll();
return $this->render('affichage/affichage.html.twig', [
'achats' => '$achats',
]);
}
}
//ma vue pour afficher les achats
{% extends 'base.html.twig' %}
{% block title %}Hello AffichageController!{% endblock %}
{% block body %}
<div class="container">
<h1 class="">Listes des achats</h1>
<table class="table table-stripe">
<thead>
<tr class="table-light">
<th>ID</th>
<th>NOM PRODUIT</th>
<th>CATEGORIES</th>
<th>QUANTITE</th>
<th>PRIX</th>
<th>NOM CLIENT</th>
<th>TELEPHONE</th>
<th>EMAIL</th>
<th>ADRESSE</th>
<th>DATE </th>
</tr>
</thead>
<tbody>
{% for achat in achats %}
<tr>
<td> {{ achat.id }} </td>
<td> {{ achat.nom_produit }} </td>
<td> {{ achat.categories }} </td>
<td> {{ achat.quantite }} </td>
<td> {{ achat.prix_produit }} </td>
<td> {{ achat.nom_client }} </td>
<td> {{ achat.telephone }} </td>
<td> {{ achat.email }} </td>
<td> {{ achat.adresse }} </td>
<td> {{ achat.adresse }} </td>
</tr>
{% endfor %}
<tbody>
</table>
</div>
{% endblock %}
a premiere vu tu as deux probleme ou erreurs
1- 'achats' => '$achats', 'achats' => $achats (sans guillemet et virgule)
au niveau twig
for achat in achats normalement tu dois inverser achats in achat
Salut, dans ta vue tu peux faire un {{ dump(achats) }}
pour savoir ce que contient la variable achats
.
merci a vous j'ai trouvé le problème achats' => $achats et non 'achats' => '$achats'