I have a problem with my symfony project.I am creating my portfolio.I created an administration interface to manage my projects.
However, when I want to save multiple photos from my project. None of this updates!
I am sharing some lines from my CS in the hope that you can help me.
public function edit(Project $project, Request $request) { $form = $this->createForm(ProjectType::class, $project); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $imagesProject = $form->get('imageProjects')->getData(); $imageFirst = $form->get('imageFile')->getData(); if ($imageFirst && $imagesProject) { foreach ($imagesProject as $imageProject) { $fichier = md5(uniqid()) . '.' . $imageProject->guessExtension(); $imageProject->move( $this->getParameter('image_directory'), $fichier ); } $imgP = new ImageProject(); $imgP->setFilename($fichier); $dateP = new \DateTime('now'); $imgP->setUpdatedAt($dateP); $project->addImageProject($imgP); $imageFirst = $form->get('imageFile')->getData(); $Imagefile = md5(uniqid()) . '.' . $imageFirst->guessExtension(); try { $imageFirst->move( $this->getParameter('image_directory'), $Imagefile ); } catch (FileException $e) { dump($e); } $project->setFilename($Imagefile); $datePr = new \DateTime('now'); $project->setUpdatedAt($datePr); $this->em->flush(); $this->addFlash('add', 'Votre projet a été modifié'); return $this->redirectToRoute('admin.project.index'); } else if ($imageFirst && !$imagesProject) { $imageFirst = $form->get('imageFile')->getData(); $Imagefile = md5(uniqid()) . '.' . $imageFirst->guessExtension(); $imageFirst->move( $this->getParameter('image_directory'), $Imagefile ); $project->setFilename($Imagefile); $datePr = new \DateTime('now'); $project->setUpdatedAt($datePr); $this->em->flush(); $this->addFlash('add', 'Votre projet a été modifié'); return $this->redirectToRoute('admin.project.index'); } else if (!$imageFirst && $imagesProject) { foreach ($imagesProject as $imageProject) { $fichier = md5(uniqid()) . '.' . $imageProject->guessExtension(); $imageProject->move( $this->getParameter('image_directory'), $fichier ); } $imgP = new ImageProject(); $imgP->setFilename($fichier); $dateP = new \DateTime('now'); $imgP->setUpdatedAt($dateP); $project->addImageProject($imgP); $this->em->flush(); $this->addFlash('add', 'Votre projet a été modifié'); return $this->redirectToRoute('admin.project.index'); } else { return $this->redirectToRoute('admin.project.index'); } } return $this->render('admin/project/edit.html.twig', ['controller_name' => 'AdminPropertyController','project' => $project,'form' => $form->createView() ]); }
My Image Entity
/** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $filename; /** * @ORM\ManyToOne(targetEntity=Project::class, inversedBy="imageProjects") */ private $project; /** * @ORM\Column(type="datetime") */ private $updated_at; /** * @var File|null */ private $imageFile;
The goal of my system would be to be able to save several files (pictures) in order to display it on my website.However, I can save one image but when I try to save several, my edit function does not update anything !!