1

Symfony2 プロジェクトにファイル アップロード機能があります。http://symfony.com/doc/current/cookbook/doctrine/file_uploads.htmlを例として使用しました。

問題は、私の @ORM\PostPersist() がトリガーされておらず、ファイルが特定のフォルダーに保存されていないことです。

ここに私が持っているものがあります:

1 ファイルを管理するエンティティ「原稿」:

 /**
 * @ORM\PostPersist()
 * @ORM\PostUpdate()
 */
public function upload()
{
    if (null === $this->file) {
        return;
    }

    $this->file->move( $this->getUploadRootDir().date('Ymdhis').'_'.$this->file->getClientOriginalName() );
}

そこに var_dump() を配置しようとしましたが、 var_dump() が実行されなかったため、そこに入ることはありません。

私のフォームには、次のファイルがあります。

 public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('file', 'file', array('label'=> 'HTM File', 'required' => true));
}

最後に、コントローラーで、私は持っています

if ($request->isMethod('POST')) {

        $form->bind($request);

        if ($form->isValid()) {
            $em_scipub->persist($enquiry);  
            $em_scipub->flush();
            ....
4

1 に答える 1

4

問題を修正しました。追加するのを忘れたと思うのは @ORM\HasLifecycleCallbacks です

したがって、Manuscript エンティティでは、次のようになります。

/**
* Manuscripts
*
* @ORM\Table(name="manuscripts")
* @ORM\Entity
* @ORM\HasLifecycleCallbacks
* 
*/

class Manuscript
{
  ....
于 2013-07-11T08:30:27.337 に答える