非对象Symfony2上的错误成员函数

时间:2016-05-09 14:38:30

标签: php symfony doctrine

我在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()则不会,所以问题是什么?

1 个答案:

答案 0 :(得分:0)

清除缓存解决了我的问题。 命令是:

php app/console cache:clear