1

複数のファイルをフォームに添付しようとして Symfony 3.1 を使用しています。

これまでのところ、ファイルをアップロードし、エンティティを作成して、それぞれをデータベースに保存できます。FineUploader で OneupUploaderBundle を使用します。

問題は、これらのファイルが残りのフォーム データに添付されていないことです。

<?php

namespace AppBundle\EventListener;

use Doctrine\ORM\EntityManager;
use Oneup\UploaderBundle\Event\PostPersistEvent;
use AppBundle\Entity\AppointmentFile;

class AppointmentUploadListener
{
    protected $manager;

    public function __construct(EntityManager $manager)
    {
        $this->manager = $manager;
    }

    public function onUpload(PostPersistEvent $event)
    {
        dump($event);
        die();
        $file = $event->getFile();

        $object = new AppointmentFile();
        $object->setFilename($file->getPathName());

        $this->manager->persist($object);
        $this->manager->flush();
    }
}

シリアル化されたフォームをアップロード パラメータに追加しようとしましたが、ファイルが 3 つある場合、フォーム データが 3 回アップロードされます。

var uploader = new qq.FineUploader({
    element: document.getElementById('fine-uploader'),
    debug: true,
    form: 'newAppointmentForm',

    request: {
        endpoint: "{{ oneup_uploader_endpoint('appointment') }}",
        params: {
            appointment: $('#newAppointmentForm').serialize()
        },
    }
});

主な目的は、ファイルが添付された予定を保存することです。したがって、エンティティは Appointment (列: 予定データとファイルの arraycollection) と AppointmentFile (列: id、filename、および mime/type) です。

どんなアドバイスでも大歓迎です。

4

0 に答える 0