Partage
  • Partager sur Facebook
  • Partager sur Twitter

SetRoom() ne fonctionne pas. [symfony 5]

Sujet résolu
    16 septembre 2021 à 15:20:02

    Bonjour, 

    mon but: je veux enregistrer une date de réservation en fonction d'une chambre. 

    Mon problème: je n'arrive pas a faire fonctionner le setRoom().

    Voici le code:

    //FORM1
            $form1->handleRequest($request);
            if ($form->isSubmitted()) {
    
                $booking = new Booking;
                $booking
                    ->setStart($start)
                    ->setLeave($leave)
                    ->setCreatedAt(new \DateTime('now'));
                    ->setRoom();
    
                
                
                $em->persist($booking);
                $em->flush();
            }
    
            $formView = $form->createView();
            $formView1 = $form->createView();
    
            return $this->render('test.html.twig', [
                'formView' => $formView,
                'formView1' => $formView1
            ]);

    mes entitées Bookin et Room:

    /**
     * @ORM\Entity(repositoryClass=BookingRepository::class)
     */
    class Booking
    {
        /**
         * @ORM\Id
         * @ORM\GeneratedValue
         * @ORM\Column(type="integer")
         */
        private $id;
    
        /**
         * @ORM\Column(type="datetime")
         */
        private $start;
    
        /**
         * @ORM\Column(type="datetime")
         */
        private $leave;
    
        /**
         * @Gedmo\Timestampable(on="create")
         * @ORM\Column(type="datetime")
         */
        private $createdAt;
    
        /**
         * @Gedmo\Timestampable(on="create")
         * @ORM\Column(type="datetime", nullable=true)
         */
        private $updatedAt;
    
        /**
         * @ORM\ManyToOne(targetEntity=Room::class, inversedBy="bookings", cascade={"persist"})
         * @ORM\JoinColumn(nullable=false)
         */
        private $room;
    
        public function getId(): ?int
        {
            return $this->id;
        }
    
        public function getStart(): ?\DateTimeInterface
        {
            return $this->start;
        }
    
        public function setStart(\DateTimeInterface $start): self
        {
            $this->start = $start;
    
            return $this;
        }
    
        public function getLeave(): ?\DateTimeInterface
        {
            return $this->leave;
        }
    
        public function setLeave(\DateTimeInterface $leave): self
        {
            $this->leave = $leave;
    
            return $this;
        }
    
        public function getCreatedAt(): ?\DateTimeInterface
        {
            return $this->createdAt;
        }
    
        public function setCreatedAt(\DateTimeInterface $createdAt): self
        {
            $this->createdAt = $createdAt;
    
            return $this;
        }
    
        public function getUpdatedAt(): ?\DateTimeInterface
        {
            return $this->updatedAt;
        }
    
        public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
        {
            $this->updatedAt = $updatedAt;
    
            return $this;
        }
    
        public function getRoom(): ?Room
        {
            return $this->room;
        }
    
        public function setRoom(?Room $room): self
        {
            $this->room = $room;
    
            return $this;
        }
    }
    
    <?php
    
    namespace App\Entity\Room;
    
    use App\Entity\Booking\Booking;
    use App\Repository\Room\RoomRepository;
    use Doctrine\Common\Collections\ArrayCollection;
    use Doctrine\Common\Collections\Collection;
    use Doctrine\ORM\Mapping as ORM;
    
    /**
     * @ORM\Entity(repositoryClass=RoomRepository::class)
     */
    class Room
    {
        /**
         * @ORM\Id
         * @ORM\GeneratedValue
         * @ORM\Column(type="integer")
         */
        private $id;
    
        /**
         * @ORM\Column(type="string", length=255)
         */
        private $name;
    
        /**
         * @ORM\Column(type="text")
         */
        private $shortDescription;
    
        /**
         * @ORM\Column(type="text")
         */
        private $description;
    
        /**
         * @ORM\Column(type="float")
         */
        private $price;
    
        /**
         * @ORM\Column(type="string", length=255)
         */
        private $livingSpace;
    
        /**
         * @ORM\Column(type="string", length=255)
         */
        private $bed;
    
        /**
         * @ORM\Column(type="string", length=255)
         */
        private $thumbnail;
    
        /**
         * @ORM\Column(type="datetime")
         */
        private $createdAt;
    
        /**
         * @ORM\Column(type="datetime", nullable=true)
         */
        private $updatedAt;
    
        /**
         * @ORM\OneToMany(targetEntity=Booking::class, mappedBy="room")
         */
        private $bookings;
    
        public function __construct()
        {
            $this->bookings = new ArrayCollection();
        }
    
        public function getId(): ?int
        {
            return $this->id;
        }
    
        public function getName(): ?string
        {
            return $this->name;
        }
    
        public function setName(string $name): self
        {
            $this->name = $name;
    
            return $this;
        }
    
        public function getShortDescription(): ?string
        {
            return $this->shortDescription;
        }
    
        public function setShortDescription(string $shortDescription): self
        {
            $this->shortDescription = $shortDescription;
    
            return $this;
        }
    
        public function getDescription(): ?string
        {
            return $this->description;
        }
    
        public function setDescription(string $description): self
        {
            $this->description = $description;
    
            return $this;
        }
    
        public function getPrice(): ?float
        {
            return $this->price;
        }
    
        public function setPrice(float $price): self
        {
            $this->price = $price;
    
            return $this;
        }
    
        public function getLivingSpace(): ?string
        {
            return $this->livingSpace;
        }
    
        public function setLivingSpace(string $livingSpace): self
        {
            $this->livingSpace = $livingSpace;
    
            return $this;
        }
    
        public function getBed(): ?string
        {
            return $this->bed;
        }
    
        public function setBed(string $bed): self
        {
            $this->bed = $bed;
    
            return $this;
        }
    
        public function getThumbnail(): ?string
        {
            return $this->thumbnail;
        }
    
        public function setThumbnail(string $thumbnail): self
        {
            $this->thumbnail = $thumbnail;
    
            return $this;
        }
    
        public function getCreatedAt(): ?\DateTimeInterface
        {
            return $this->createdAt;
        }
    
        public function setCreatedAt(\DateTimeInterface $createdAt): self
        {
            $this->createdAt = $createdAt;
    
            return $this;
        }
    
        public function getUpdatedAt(): ?\DateTimeInterface
        {
            return $this->updatedAt;
        }
    
        public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
        {
            $this->updatedAt = $updatedAt;
    
            return $this;
        }
    
        /**
         * @return Collection|Booking[]
         */
        public function getBookings(): Collection
        {
            return $this->bookings;
        }
    
        public function addBooking(Booking $booking): self
        {
            if (!$this->bookings->contains($booking)) {
                $this->bookings[] = $booking;
                $booking->setRoom($this);
            }
    
            return $this;
        }
    
        public function removeBooking(Booking $booking): self
        {
            if ($this->bookings->removeElement($booking)) {
                // set the owning side to null (unless already changed)
                if ($booking->getRoom() === $this) {
                    $booking->setRoom(null);
                }
            }
    
            return $this;
        }
    }
    

    Quand j'essaie de lui passer un int qui correspondrait à l'id d'un Room, il en veut pas. lui il veut un objet Room. 

    Comment je dois procéder?

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2021 à 15:26:14

      Salut

      Oublie un moment les considérations du côté base de données : l'ORM de Doctrine est fait pour manipuler des objets, il faut donc manipuler des objets et non uniquement leurs IDs, cela ne sert que pour matérialiser les relations et "représenter" les objets notamment dans les URLs.

      Maintenant, j'aimerais voir comment tu as défini ton formulaire, s'il te plaît. A savoir qu'il y a quelque chose de spécifique à utiliser dans ce cas.

      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2021 à 15:32:28

        Merci pour ta réponse.

        voila le formulaire correspondant:

        <?php
        
        namespace App\Form\Booking;
        
        use App\Entity\Booking\Booking;
        use Symfony\Component\Form\AbstractType;
        use Symfony\Component\Form\FormBuilderInterface;
        use Symfony\Component\OptionsResolver\OptionsResolver;
        use Symfony\Component\Form\Extension\Core\Type\DateType;
        
        class BookingType extends AbstractType
        {
            public function buildForm(FormBuilderInterface $builder, array $options)
            {
                $builder
                    ->add('start', DateType::class, [
                        'widget' => 'single_text',
                        // this is actually the default format for single_text
                        'format' => 'yyyy-MM-dd'
                    ])
                    ->add('leave', DateType::class, [
                        'widget' => 'single_text',
                        // this is actually the default format for single_text
                        'format' => 'yyyy-MM-dd'
                    ]);
            }
        
            public function configureOptions(OptionsResolver $resolver)
            {
                $resolver->setDefaults([
                    'data_class' => Booking::class,
                ]);
            }
        }
        
        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2021 à 15:52:30

          Du coup, montre-nous l'entier de l'action s'il te plaît.

          Et laisse le code tel-quel, merci d'avance.

          -
          Edité par Ymox 16 septembre 2021 à 15:52:56

          • Partager sur Facebook
          • Partager sur Twitter
            16 septembre 2021 à 15:55:58

            Pardon je ne comprend pas ce que tu entend par "entier de l'action"?

            ca? :

            <?php
            
            namespace App\Controller\Booking;
            
            
            use Services\Booker;
            use App\Entity\Room\Room;
            
            use App\Entity\Booking\Booking;
            use App\Form\Booking\BookingType;
            use App\Repository\Room\RoomRepository;
            use Symfony\Component\Form\FormFactory;
            use Doctrine\ORM\EntityManagerInterface;
            use Symfony\Bridge\Doctrine\ManagerRegistry;
            use App\Form\Booking\chekingAvailabilityType;
            use App\Repository\Booking\BookingRepository;
            use DateTimeInterface;
            use Symfony\Component\HttpFoundation\Request;
            use Symfony\Component\HttpFoundation\Response;
            use Symfony\Component\Routing\Annotation\Route;
            use Symfony\Component\Form\FormFactoryInterface;
            use Symfony\Component\Console\Input\InputArgument;
            use Symfony\Component\Validator\Constraints\DateTime;
            use Symfony\Component\Form\Extension\Core\Type\DateType;
            use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
            use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
            
            class BookingController extends AbstractController
            {
                /**
                 * @Route("/", name="homepage")
                 */
                public function checkDispo(EntityManagerInterface $em, Request $request, RoomRepository $roomRepository): Response
                {
            
                    $form = $this->createForm(chekingAvailabilityType::class);
                    $form1 = $this->createForm(BookingType::class);
            
                    $form->handleRequest($request);
                    $start = $form['start']->getData();
                    $leave = $form['leave']->getData();
                    $start1 = $form['start']->getData();
                    $leave1 = $form['leave']->getData();
            
                    $booking = new Booking;
                    //FORM
            
            
                    if ($form->isSubmitted()) {
            
                        $rooms = $roomRepository->findByAvailableBookings($start, $leave);
                    }
            
                    //FORM1
                    $form1->handleRequest($request);
                    if ($form->isSubmitted()) {
            
                        $booking = new Booking;
                        $booking
                            ->setStart($start)
                            ->setLeave($leave)
                            ->setCreatedAt(new \DateTime('now'));
            
            
            
            
                        $em->persist($booking);
                        $em->flush();
                    }
            
                    $formView = $form->createView();
                    $formView1 = $form->createView();
            
                    return $this->render('test.html.twig', [
                        'formView' => $formView,
                        'formView1' => $formView1
                    ]);
                }
            }

            EDIT: C'est la même classe mais corrigé. en faisant des copié collé j'avais oublier de modifier certain $form en $form1 et j'avais oublié un handlerequest sur le form1:

            <?php
            
            namespace App\Controller\Booking;
            
            
            use Services\Booker;
            use App\Entity\Room\Room;
            
            use App\Entity\Booking\Booking;
            use App\Form\Booking\BookingType;
            use App\Repository\Room\RoomRepository;
            use Symfony\Component\Form\FormFactory;
            use Doctrine\ORM\EntityManagerInterface;
            use Symfony\Bridge\Doctrine\ManagerRegistry;
            use App\Form\Booking\chekingAvailabilityType;
            use App\Repository\Booking\BookingRepository;
            use DateTimeInterface;
            use Symfony\Component\HttpFoundation\Request;
            use Symfony\Component\HttpFoundation\Response;
            use Symfony\Component\Routing\Annotation\Route;
            use Symfony\Component\Form\FormFactoryInterface;
            use Symfony\Component\Console\Input\InputArgument;
            use Symfony\Component\Validator\Constraints\DateTime;
            use Symfony\Component\Form\Extension\Core\Type\DateType;
            use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
            use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
            
            class BookingController extends AbstractController
            {
                /**
                 * @Route("/", name="homepage")
                 */
                public function checkDispo(EntityManagerInterface $em, Request $request, RoomRepository $roomRepository): Response
                {
            
                    $form = $this->createForm(chekingAvailabilityType::class);
                    $form1 = $this->createForm(BookingType::class);
            
                    $form->handleRequest($request);
                    $form1->handleRequest($request);
                    $start = $form['start']->getData();
                    $leave = $form['leave']->getData();
            
                    $start1 = $form1['start']->getData();
                    $leave1 = $form1['leave']->getData();
            
                    $booking = new Booking;
                    //FORM
            
            
                    if ($form->isSubmitted()) {
            
                        $rooms = $roomRepository->findByAvailableBookings($start, $leave);
                    }
            
                    //FORM1
            
                    if ($form1->isSubmitted()) {
            
                        $booking = new Booking;
                        $booking
                            ->setStart($start1)
                            ->setLeave($leave1)
                            ->setCreatedAt(new \DateTime('now'));
            
            
            
            
                        $em->persist($booking);
                        $em->flush();
                    }
            
                    $formView = $form->createView();
                    $formView1 = $form1->createView();
            
                    return $this->render('test.html.twig', [
                        'formView' => $formView,
                        'formView1' => $formView1
                    ]);
                }
            }



            -
            Edité par Frigalou 16 septembre 2021 à 16:14:47

            • Partager sur Facebook
            • Partager sur Twitter
              16 septembre 2021 à 16:13:27

              Et du coup, à quel endroit est-ce que tu as un problème ? Tu nous parles de mettre un ID là où il attend un objet, je ne vois même pas où tu utilises setRoom() dans l'action.

              Et je ne vois pas vraiment pourquoi tu as besoin de deux formulaires, ça ne va pas vraiment faciliter les choses à mon avis.

              • Partager sur Facebook
              • Partager sur Twitter
                16 septembre 2021 à 16:15:09

                <?php
                
                namespace App\Controller\Booking;
                
                
                use Services\Booker;
                use App\Entity\Room\Room;
                
                use App\Entity\Booking\Booking;
                use App\Form\Booking\BookingType;
                use App\Repository\Room\RoomRepository;
                use Symfony\Component\Form\FormFactory;
                use Doctrine\ORM\EntityManagerInterface;
                use Symfony\Bridge\Doctrine\ManagerRegistry;
                use App\Form\Booking\chekingAvailabilityType;
                use App\Repository\Booking\BookingRepository;
                use DateTimeInterface;
                use Symfony\Component\HttpFoundation\Request;
                use Symfony\Component\HttpFoundation\Response;
                use Symfony\Component\Routing\Annotation\Route;
                use Symfony\Component\Form\FormFactoryInterface;
                use Symfony\Component\Console\Input\InputArgument;
                use Symfony\Component\Validator\Constraints\DateTime;
                use Symfony\Component\Form\Extension\Core\Type\DateType;
                use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
                use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
                
                class BookingController extends AbstractController
                {
                    /**
                     * @Route("/", name="homepage")
                     */
                    public function checkDispo(EntityManagerInterface $em, Request $request, RoomRepository $roomRepository): Response
                    {
                
                        $form = $this->createForm(chekingAvailabilityType::class);
                        $form1 = $this->createForm(BookingType::class);
                
                        $form->handleRequest($request);
                        $start = $form['start']->getData();
                        $leave = $form['leave']->getData();
                        $start1 = $form['start']->getData();
                        $leave1 = $form['leave']->getData();
                
                        $booking = new Booking;
                        //FORM
                
                
                        if ($form->isSubmitted()) {
                
                            $rooms = $roomRepository->findByAvailableBookings($start, $leave);
                        }
                
                        //FORM1
                        $form1->handleRequest($request);
                        if ($form->isSubmitted()) {
                
                            $booking = new Booking;
                            $booking
                                ->setStart($start)
                                ->setLeave($leave)
                                ->setCreatedAt(new \DateTime('now'));
                
                
                
                
                            $em->persist($booking);
                            $em->flush();
                        }
                
                        $formView = $form->createView();
                        $formView1 = $form->createView();
                
                        return $this->render('test.html.twig', [
                            'formView' => $formView,
                            'formView1' => $formView1
                        ]);
                    }
                }
                • Partager sur Facebook
                • Partager sur Twitter
                  16 septembre 2021 à 16:19:50

                  Mêmes remarques que dans mon message précédent.

                  Et non, tu ne lui donnes pas un DateType, mais éventuellement un objet DateTime. Seulement si tu n'as pas défini de date de départ dans ton formulaire, ce sera null, or ta réservation ne peut pas se faire sans date de début, d'où l'erreur. Je pense qu'il faut réfléchir différemment pour ton formulaire.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    16 septembre 2021 à 16:24:15

                    Pardon j'avais pas vu ton message en faisant mes edit au milieu.

                    En faite j'ai deux formulaire car je voulais pouvoir tout tester sur la même page. 

                    Je voulais voir en même temps comment ca se passer pour jouer avec plusieurs formulaires.

                    $form => est censé me retourné un tableau avec les chambre disponible dans la periode choisie par l'utilisateur.

                    $form1 => est censé enregistrer une réservation sur une période choisie pour une chambre (sans verification pour le moment il sera ajouté a la suite quand ca marchera).

                    Oui pardon j'avais enlevé le setRoom() en essayant des chose je le remet et je te montre. 

                     //FORM1
                    
                            if ($form1->isSubmitted()) {
                    
                                $booking = new Booking;
                                $booking
                                    ->setStart($start1)
                                    ->setLeave($leave1)
                                    ->setRoom(0)
                                    ->setCreatedAt(new \DateTime('now'));
                    
                                $em->persist($booking);
                                $em->flush();
                            }

                    Ymox a écrit:

                    Mêmes remarques que dans mon message précédent.

                    Et non, tu ne lui donnes pas un DateType, mais éventuellement un objet DateTime. Seulement si tu n'as pas défini de date de départ dans ton formulaire, ce sera null, or ta réservation ne peut pas se faire sans date de début, d'où l'erreur. Je pense qu'il faut réfléchir différemment pour ton formulaire.

                    oui effectivement j'avais oublier encore de changer form->createView pour $form1->createView (La typo! La typo! La typo!) donc maintenant je me retrouve bien avec mon message d'erreur qui me demande un objet room et pas son id

                    Et lorsque je fais un dd de $start1 j'ai bien une date qui s'affiche.

                    EDIT: j'ai essayé ca mais ca ne fonctionne pas non plus:

                    if ($form1->isSubmitted()) {
                    
                                $booking = new Booking;
                                $room = new Room;
                                $booking
                    
                                    ->setStart($start1)
                                    ->setLeave($leave1)
                                    ->setRoom($room->getId(1))
                                    ->setCreatedAt(new \DateTime('now'));
                    
                                $em->persist($booking);
                                $em->flush();
                            }

                    .


                    -
                    Edité par Frigalou 16 septembre 2021 à 16:41:59

                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 septembre 2021 à 16:56:52

                      Prends le temps de réfléchir avant de répondre, avec les éditions successives parce que tu rajoutes des trucs toutes les deux minutes, c'est vraiment pas simple de suivre, pour moi comme pour toi.

                      Ton dernier essai n'a aucun sens : tu dois passer un objet Room à setRoom(), or $room->getId() retourne l'ID de l'objet, et en plus la méthode ne prend pas de paramètre en compte. A moins que tu n'assignes une chambre au hasard, il faut que tu récupères la chambre que le client a choisie, et c'est vraiment l'objet Room qu'il te faut passer en paramètre de setRoom().

                      • Partager sur Facebook
                      • Partager sur Twitter
                        16 septembre 2021 à 17:26:24

                        Pardon excuse moi je n'avait pas réfléchie a ca. j'y penserai a l'avenir. 

                        Oui le client choisira la chambre qu'il souhaite en fonction de celle disponible à la période qu'il a choisie. donc il entre les dates, ca lui renvoie les chambre dispo il choisie  laquelle et voila.

                        Mais pour l'instant j'aimerai simplement arriver a rentrer une reservation simplement sans verification de disponibilité.

                        Je comprend donc que je dois instancier Room comme je l'ai fais et lui passer l'objet à partir de la. Mais je ne vois pas du tout comment je peu lui dire que c'est celui la que je veut et pas un autre si je ne peu pas lui indiquer la ligne?

                        • Partager sur Facebook
                        • Partager sur Twitter
                          16 septembre 2021 à 23:55:58

                          Ben tu récupères l'instance de l'objet Room qui correspond à ce que tu veux, instance parmi celles dans la variable $rooms.

                          Normalement dans un de tes formulaires, tu devrais avoir un champ qui permet de choisir la chambre, non ? Ce champ devrait être mappé à la propriété room de ton objet Booking, et du coup être dans les données du formulaire après handleRequest().

                          Pour être honnête, dans le genre de cas que tu mentionnes, j'utiliserais une fonctionnalité avancée des formulaires de Symfony : les FormEvents. Cela permettrait d'avoir une liste de chambres et de l'adapter en fonction des dates de début et de fin du même formulaire.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 septembre 2021 à 1:02:41

                            Problème à moitié réglé, je réussi a obtenir l'objet room a placer dans mon setRoom() voici la solution que j'ai trouvé

                            if ($form1->isSubmitted()) {
                            
                                        $booking = new Booking;
                                        $room = $em->find(Room::class, 1);
                                        $booking
                                            ->setStart($start1)
                                            ->setLeave($leave1)
                                            ->setCreatedAt(new \DateTime('now'))
                                            ->setRoom($room);
                                        $em->persist($booking);
                            
                                        $em->flush();
                            }

                            Cela me rempli bien toute les case de ma requete sql et lorsque je dump $room j'ai bien un objet Room. Seulement voilà, la requête sql ne passe pas. j'obtient cette erreur:

                            An exception occurred while executing 'INSERT INTO booking (start, leave, created_at, updated_at, room_id) VALUES (?, ?, ?, ?, ?)' with params ["2016-01-01 00:00:00", "2016-01-01 00:00:00", "2021-09-16 22:46:11", "2021-09-16 22:46:11", 1]:

                            SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de 'leave, created_at, updated_at, room_id) VALUES ('2016-01-01 00:00:00', '2016-01-' à la ligne 1

                            Je suis encore un peu perdu là.

                            merci de votre aide

                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 septembre 2021 à 1:59:55

                              Pour une raison qui m'échappe au moment de rédiger ceci, il semble que là où il faudrait avoir un ID, on a la date de création… Je soupçonne une modification qui a fait un mélange de variables dans l'entité Booking.

                              Edit

                              Ah non, c'est que LEAVE est un mot-clé réservé en MySQL. Pourquoi ne pas renommer en departure ?

                              Sinon, sans renommer, il faudrait spécifier explicitement le nom de la colonne dans les mappings de cette propriété et encadrer ledit nom de colonne avec les accents graves.

                              -
                              Edité par Ymox 17 septembre 2021 à 10:40:39

                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 septembre 2021 à 13:28:55

                                hello merci encore pour ta réponse. C'est bon en fait non c'est 'start' qui est un mot réservé. du coup ca marche nickel. Pour 'leave' au début je voulait mettre 'end' mais Symfony me l'avais interdit du fait que c'est un mot réservé. mais il ne m'avait rien dis pour start.

                                Merci beaucoup pour ton aide!

                                • Partager sur Facebook
                                • Partager sur Twitter

                                SetRoom() ne fonctionne pas. [symfony 5]

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown