protected function createFile(UploadedFile $uploadedFile, Item $item, ObjectManager $em, $type, $name = null) { $repo = $this->getDoctrine()->getRepository(File::class); $fileName = $uploadedFile->getClientOriginalName(); $file = $repo->findOneBy(['item' => $item, 'type' => $type]); if ($file) { $file->unlink(); } else { $file = new File(); } $file->setItem($item); $file->setPath("files/uploads/{$fileName}"); $file->setType($type); $file->setName($name); $file->setCreatedAt(new \DateTime()); $uploadedFile->move($this->get('kernel')->getRootDir() . '/../web/files/uploads', $fileName); $em->persist($file); }