Я пытаюсь совместить эту функцию ...
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',]);
}
Но я получаю просто сообщение об ошибке:
Argument 3 passed to Symfony\Bundle\FrameworkBundle\Controller\Controller::render() must be an instance of Symfony\Component\HttpFoundation\Response or null, array given, called in /Users/work/project/src/Controller/PagesController.php on line 18






Вместо передачи третьего аргумента вы должны объединить все данные, которые вы хотите передать в представление, в один массив.
public function index()
{
$pages = $this->getDoctrine()->getRepository(Pages::class)->findAll();
return $this->render('pages/index.html.twig', array('pages' => $pages, 'controller_name' => 'PagesController'));
}
@Jarla Кстати, лучше внедрить свой репозиторий в контроллер, а не получать его, как вы. Если нужно, проще посмеяться
Вы по ошибке сделали 2 параметра попробуйте
['pages' => $pages,'controller_name' => 'PagesController',]