Symfony2 PRE_SET_DATA $ event-> getData()返回错误的对象 [英] Symfony2 PRE_SET_DATA $event->getData() return wrong object

查看:173
本文介绍了Symfony2 PRE_SET_DATA $ event-> getData()返回错误的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试从事件PRE_SET_DATA获取数据时,我的对象具有良好的价值,但我无法使用它。

When I try to get the data from event PRE_SET_DATA, I get my object with good value, but I can't use it.

这是我的测试代码:

This is my test code :

        $builder->addEventListener(
        FormEvents::PRE_SET_DATA,
        function(FormEvent $event) use ($factory){

            $data = $event->getData();
            print_r($data);

        }
    );

这将返回一个长文本:


你\CommercantBundle\Entity\LivraisonChoix对象([id:YOU\CommercantBundle\Entity\LivraisonChoix:private] => 22 ...

"YOU\CommercantBundle\Entity\LivraisonChoix Object ( [id:YOU\CommercantBundle\Entity\LivraisonChoix:private] => 22 ..."

但是当我使用getter:

But when I use a getter :

        $builder->addEventListener(
        FormEvents::PRE_SET_DATA,
        function(FormEvent $event) use ($factory){

            $data = $event->getData();
            print_r($data->getId());

        }
    );

我收到一个错误:


FatalErrorException:错误:调用一个成员函数getId()非对象

FatalErrorException: Error: Call to a member function getId() on a non-object

如何访问数据?

推荐答案

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

I need to use this condition for the getter work :

        if ($data instanceof \YOU\CommercantBundle\Entity\LivraisonChoix) {

        }

这篇关于Symfony2 PRE_SET_DATA $ event-> getData()返回错误的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆