Symfony2 PRE_SET_DATA $ event-> getData()返回错误的对象 [英] Symfony2 PRE_SET_DATA $event->getData() return wrong object
问题描述
当我尝试从事件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屋!