首页 > 解决方案 > 无法更新数据库中的数据

问题描述

我的 symfony 项目有问题。我正在创建我的投资组合。我创建了一个管理界面来管理我的项目。

但是,当我想从我的项目中保存多张照片时。这些都没有更新!

我正在分享我的 CS 中的一些台词,希望你能帮助我。

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()

        ]);
    }

我的图像实体

    /**
     * @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;

我的系统的目标是能够保存多个文件(图片)以便在我的网站上显示它。但是,我可以保存一张图像,但是当我尝试保存多张图像时,我的编辑功能不会更新任何内容!

标签: phpmysqlsymfonysymfony4

解决方案


推荐阅读