如何将两个功能组合为一个(Symfony 4)?

时间:2018-07-19 13:35:52

标签: php function symfony controller return

我正在尝试组合此功能...

public function index()
    {
      return $this->render('pages/index.html.twig', ['controller_name' => 'PagesController',]);
    }

...具有此功能:

public function index()
{
  $pages = $this->getDoctrine()->getRepository(Pages::class)->findAll();
    return $this->render('pages/index.html.twig', array('pages' => $pages));
}

这是我的方法:

public function index()
{
    $pages = $this->getDoctrine()->getRepository(Pages::class)->findAll();
    return $this->render('pages/index.html.twig', array('pages' => $pages),['controller_name' => 'PagesController',]);
}

但是我只收到一条错误消息:

  

参数3传递给   Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller :: render()必须为   Symfony \ Component \ HttpFoundation \ Response的实例或为null,   给定数组,称为   /Users/work/project/src/Controller/PagesController.php,第18行

1 个答案:

答案 0 :(得分:3)

您应该将要传递给视图的所有数据组合到一个数组中,而不是传递第三个参数。

public function index()
{
    $pages = $this->getDoctrine()->getRepository(Pages::class)->findAll();
    return $this->render('pages/index.html.twig', array('pages' => $pages, 'controller_name' => 'PagesController'));
}
相关问题