src/Controller/BestellungController.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Bestellung;
  4. use App\Entity\Gericht;
  5. use App\Repository\BestellungRepository;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. class BestellungController extends AbstractController
  10. {
  11.     #[Route('/bestellung'name'app_bestellung')]
  12.     public function index(BestellungRepository $bestellungRepository): Response
  13.     {
  14.         $bestellung $bestellungRepository->findBy(
  15.             ['tisch' => 'tisch1']
  16.         );
  17.         return $this->render('bestellung/index.html.twig', [
  18.             'bestellungen' => $bestellung
  19.         ]);
  20.     }
  21.     
  22.     #[Route('/bestellen/{id}'name'app_bestellen')]
  23.     public function bestellen(Gericht $gericht): Response
  24.     {
  25.         
  26.         $bestellung = new Bestellung();
  27.         $bestellung->setTisch('tisch1');
  28.         $bestellung->setName($gericht->getName());
  29.         $bestellung->setBnummer($gericht->getId());
  30.         $bestellung->setPreis($gericht->getPreis());
  31.         $bestellung->setStatus('offen');
  32.         
  33.         // entityManager
  34.         $em $this->getDoctrine()->getManager();
  35.         $em->persist($bestellung);
  36.         $em->flush();
  37.         
  38.         // Message ausgeben lassen
  39.         $this->addFlash('bestell'$bestellung->getName(). ' wurde zur Bestellung hinzugefügt');
  40.         
  41.         return $this->redirect($this->generateUrl('app_menu'));
  42.     }
  43.     
  44.     #[Route('/status/{id},{status}'name'app_status')]
  45.     public function status($id$status): Response
  46.     {
  47.         
  48.         // entityManager
  49.         $em $this->getDoctrine()->getManager();
  50.         $bestellung $em->getRepository(Bestellung::class)->find($id); // betreffendes Objekt suchen
  51.         $bestellung->setStatus($status);
  52.         $em->flush();
  53.         
  54.         return $this->redirect($this->generateUrl('app_bestellung'));
  55.     }
  56.     
  57.     #[Route('/loeschen/{id}'name'app_loeschen')]
  58.     
  59.     public function entfernen($idBestellungRepository $br): Response
  60.     {
  61.         $em $this->getDoctrine()->getManager();
  62.         $bestellung $br->find($id);
  63.         $em->remove($bestellung);
  64.         $em->flush();
  65.         
  66.         // Message
  67.         //$this->addFlash('erfolg','Gericht wurde erfolgreich gelöscht');
  68.         
  69.         return $this->redirect($this->generateUrl('app_bestellung'));
  70.     }
  71.     
  72. }