Symfony2 PRE_SET_DATA$事件->;getData()返回错误的对象


Symfony2 PRE_SET_DATA $event->getData() return wrong object

当我试图从事件PRE_SET_data中获取数据时,我得到了值很好的对象,但我无法使用它。

这是我的测试代码:

        $builder->addEventListener(
        FormEvents::PRE_SET_DATA,
        function(FormEvent $event) use ($factory){
            $data = $event->getData();
            print_r($data);
        }
    );

这将返回一个长文本:

"YOU''CommercantBundle''Entity''LivraisonChoix对象([id:YOU''CcommercantBundle''Inventity''LivreisonChoix:private]=>22…"

但当我使用吸气剂时:

        $builder->addEventListener(
        FormEvents::PRE_SET_DATA,
        function(FormEvent $event) use ($factory){
            $data = $event->getData();
            print_r($data->getId());
        }
    );

我得到一个错误:

致命错误异常:错误:调用非对象上的成员函数getId()

如何访问数据?

这对于PRE_BIND事件来说很好。

我需要对getter工作使用这个条件:

        if ($data instanceof 'YOU'CommercantBundle'Entity'LivraisonChoix) {
        }