我在Symfon2中遇到了一个问题,即:
错误:在非对象中调用成员函数getId() /var/www/UserBO/src/BO/UserBundle/Controller/DefaultController.php 第88行
实体表单包含许多实体文档, 我的代码是:
public function userAction()
{
$data = array();
$row = array();
$extra = array();
$results = $this->getDoctrine()->getRepository("BOUserBundle:Form")->createQueryBuilder('q')->getQuery()->getArrayResult();
// var_dump($results); die;
foreach ($results as $res){
$row = array(
'id' => $res->getId(),
'name' => $res->getName(),
'adresse' => $res->getAdresse()
);
$docs = $this->getDoctrine()->getRepository("BOUserBundle:Document")->find($res->getId());
foreach ($docs as $doc)
{
$extra[] = array(
'id'=> $doc->getId(), **// line 88**
'name doc'=> $doc->getName(),
'path' => $doc->getPath()
);
}
$row = array_merge($row, array('docs'=>$extra));
}
// var_dump($data); die;
$data[] = $row;
return new JsonResponse($data);
//return $this->render('BOUserBundle:Default:user.html.twig', array('data' => $data));
}
感谢的
编辑:
$ results = $这 - > getDoctrine() - > getRepository( “BOUserBundle:表”) - > createQueryBuilder( 'Q') - > getQuery() - >的getResult(); 后续代码var_dump($结果);死;
使用 getResult 会阻止导航器(Mozilla),而 getArrayResult()则不会,所以问题是什么?
答案 0 :(得分:0)
清除缓存解决了我的问题。 命令是:
php app/console cache:clear