获取具有关系的实体时,FOSRestBundle发生HTTP 500错误

时间:2016-12-19 10:40:11

标签: php symfony doctrine-orm fosrestbundle

我从FOSRestBundle开始,当我获得没有关系的实体的值并在浏览器中显示它时,我没有问题。但是当我试图获得一个有关系的实体时,它会向我显示错误代码:500。

以下是代码:

app/config/config.yml

fos_rest:
    routing_loader:
        default_format: json
    param_fetcher_listener: true
    body_listener: true
    format_listener: true
    view:
        view_response_listener: 'force'

ApiRestBundle/Controller/UserController(这很好用)

   /**       
    * @return array       
    * @Rest\Get("/users")       
    * @Rest\View()       
    */ 

public function getUsersAction()
{
    $response = array();

    $em = $this->getDoctrine()->getManager(); 
    $users = $em->getRepository('CASUsuariosBundle:User')->findAll();

    $view = $this->view($users);

    return $this->handleView($view);
}

APIRestBunde/Controller/CategoryController(这不起作用)

/**       
* @return array       
* @Rest\Get("/categories")       
* @Rest\View()       
*/ 

public function getCategoriesAction()
{
    $response = array();

    $em = $this->getDoctrine()->getManager(); 
    $categories = $em->getRepository('CASEventBundle:Category')->findAll();

    $view = $this->view($categories);

    return $this->handleView($view);   
}

错误代码:

  

{"错误":{"代码":500,"消息":"内部服务器   错误","例外":[{"消息":"注意:未定义的索引:   命名""类":" Symfony的\元器件\调试\异常\ ContextErrorException""跟踪":[{"命名空间" :""" short_class":"""类":"""类型":"""功能":"""文件":" C:\ XAMPP \ htdocs中\ CASPruebas \厂商\教义\ ORM \ lib中\学说\ ORM \持留\ BasicEntityPersister.php""线":1758," ARGS":[]} ..

1 个答案:

答案 0 :(得分:1)

你的问题解决起来有点复杂。

这个错误代码可能意味着很多不同的东西!

但我认为这不是直接的FOSRestBundle问题。也许您的类别实体存在关系问题......

结果如下:doctrine:schema:validate

编辑:如果你给我们完整的错误代码,也许解决它会更简单。