symfony 4:文件字段在编辑时为空

时间:2019-03-21 09:08:55

标签: twig symfony4

当我尝试编辑现有对象时,我得到了除文件以外的所有元素,其输入保持为空,这迫使我再次插入文件。 我该如何解决这个问题

我的代码如下

在实体类中

/**
     * @ORM\Column(type="string", length=255)
     * @Assert\File(mimeTypes={ "application/pdf" })
     */
    private $dce;

以formType

->add('dce', FileType::class, ['label' => 'DCE (PDF)', 'data_class' => null])

我要在控制器中添加或编辑的动作

/**
     * @Route("/dao/ajouter_dao", name="ajouter_dao")
     * @Route("/dao/{id}/modifier_dao", name="modifier_dao")
     */
    public function enregistrerDAO(MarcheDao $dao = null, Request $request, ObjectManager $manager){

         //S'il ya pas de DAO, On le crée
         if(!$dao){
            $dao = new MarcheDAO();
         }

         // On crée le formulaire 
         $formdao= $this->createForm(DAOType::class, $dao);

         $formdao->handleRequest($request);

         // On vérifie si notre formulaire est bien soumis avec les bonnes informations !! 
         if ($formdao->isSubmitted() && $formdao->isValid()) {

             if(!$dao->getId()){
                $dao->setDateLancement(new \DateTime());
                $dao->setEtat("1");
                //$dao->setDateCloture(new \DateTime('tomorrow'));
             }

            // Ici on récupére notre fichier DCE
            $file= $dao->getDce();
            // On définit un nouveau nom à notre chére fichier !!
            $fileName = $this->generateUniqueFileName().'.'.$file->guessExtension();
            // On lui déplace dans le bon en droit
            $file->move($this->getParameter('repertoire_DCE'),$fileName);

            // On modifie le nom du fichier au niveau de la base des données
            $dao->setDce($fileName);
             $manager->persist($dao); // On prépare notre réquéte
             $manager->flush(); // On l'exécute 

0 个答案:

没有答案