ArrayObject :: getIterator错误

时间:2015-07-30 10:07:06

标签: php arrays symfony get

这就是我试图从数据库中获取一些公寓名称,但我总是得到错误。这就是我试图获得公寓名称的方式

$userapt = $user->getApartments()->getIterator();

while ($userapt->valid()) {
  echo  ($userapt->key() . ' => ' . $userapt->current()) . "\n";

    $userapt->next();
}

$useraptName = $user->getApartment()->getIterator();

while ($useraptName->valid()) {
    ($useraptName->key() . ' => ' . var_dump($useraptName->current()) . "\n");
    $useraptName->next();
}

运行此操作,我收到以下错误:

  

Catchable Fatal Error:类MyBundle \ Entity \ UserApartment的对象无法转换为字符串   500内部服务器错误 - ContextErrorException

如何修复此错误?
提前谢谢!

1 个答案:

答案 0 :(得分:0)

您正在尝试echo一个对象

echo ($userapt->key() . ' => ' . $userapt->current()) . "\n";

您可以通过在public function __toString() {}课程中实施UserApartament方法来解决此问题。这样,当您尝试echo $user->current()时,它将使用__toString()方法显示对象的字符串值。