Загрузка файла для формы, встроенной в другую форму - PullRequest
0 голосов
/ 19 октября 2019
I have faced one problem please, help me if you might be  what you have done before.

Когда я пытаюсь загрузить файл в обычной форме, это нормально. Но когда я хочу загрузить файл для формы, встроенной в другую, как я мог? потому что встроенная форма не имеет своего собственного контроллера, это означает, что я сохраню коллекцию из родительского контроллера. Если я напишу код загрузки файла в родительском контроллере и сохраню дочерний элемент, он удвоится. Пожалуйста, помогите мне, если вы можете понять мою точку зрения

// This is under father controller
 public function fatherAction(Request $request) {

        $em = $this->getDoctrine()->getManager();
        $bornChild = new Person();
   if ($form->isSubmitted() && $form->isValid()) {
    $photo = $form->get('attachment')->getData();
    if ($photo) {
     $originalFilename = pathinfo($attachment- 
    >getClientOriginalName(), PATHINFO_FILENAME);
                // this is needed to safely include the file name as 
   part of the URL
                $safeFilename = transliterator_transliterate('Any- 
   Latin; Latin-ASCII; [^A-Za-z0-9_] remove; Lower()', 
   $originalFilename);
                $newFilename = $safeFilename . '-' . uniqid() . '.' . 
   $photo->guessExtension();
                $photo_dir = $this->getParameter('photo_dir');
                // Move the file to the directory where attachment are 
   stored
                $photo->move(
                        $photo_dir, $newFilename
                );
                $bornChild->setSign($newFilename);
            }
            $bornChild->setEvent('birth');
            $em->persist($bornChild);
            $em->flush();

   }

      //this person entity
       public function addChild(\GRBHBundle\Entity\Person $child) {

        $this->child[] = $child;

          return $this;
      }
      //there is return here
      }

У меня есть две сущности: отец и ребенок. дочерняя форма встроена в отцовскую форму. Хочу зарегистрировать рожденного ребенка. у дочерней сущности много полей и изображений. Я хочу добавить изображение для встроенного ребенка. Обратите внимание, что дочерний элемент имеет много полей. Image - одно из полей.

...