Symfony2 - 在 PRE_SUBMIT 事件中获取实体对象

Symfony2 - get entity object in PRE_SUBMIT event

我添加了一个表单和 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 个实体...

P.S。我会使用 SUBMIT 来获取实体对象,但在这种情况下 SUBMIT 事件来不及添加约束。

$event->getData()是请求数据,$form->getData()是实体,但不是提交的原始实体。 有关详细信息,请参阅 http://symfony.com/doc/current/form/events.html#component-form-event-table