2017-05-02 17 views
0

我添加了一個表單和PRE_SUBMIT事件。Symfony2 - 在PRE_SUBMIT事件中獲取實體對象

$builder->addEventListener(FormEvents::PRE_SUBMIT, array($this, 'onPreSubmit')); 

現在,當我在事件中轉儲表單數據時,我得到一個數組而不是一個對象。

public function onPreSubmit(FormEvent $event) 
{ 
    $form = $event->getForm(); 
    /** @var Offer $offer */ 
    $offer = $event->getData(); 

    var_dump($offer); 
    die; 
} 

在這裏,我想檢查實體,不在形式的狀態字段,並根據國家一些約束添加到某些領域的活動。

數組不包含實體id ...

附:我會用SUBMIT來獲取一個實體對象,但在這種情況下SUBMIT事件來不及添加約束。

+0

$ event-> getData()是請求數據,而$ form-> getData()是實體,但它是未提交的原始實體。 http://symfony.com/doc/current/form/events.html#component-form-event-table更多信息 –

+0

這是我需要的,因爲狀態在提交時不會改變!請張貼它作爲答案,我會標記。 –

回答

相關問題