2013-07-11 52 views
1

我在我的Symfony2項目上有一個文件上傳功能。 我以http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html爲例。Symfony2和Doctrine - @ORM PostPersist()不起作用

問題是我的@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()); 
} 

我tryed把一個的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

我固定的問題,我忘了加上認爲@ORM \ HasLifecycleCallbacks

所以,在手稿的實體,它應該是這個樣子的是:

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

class Manuscript 
{ 
    ....