Передача массива сущностей Doctrine из контроллера Symfony в Twig в Javascrip

Я хочу передать два массива $homes_verified & $homes_not_verified в javascript. Я уже пробовал использовать json_encode, но у меня это не работает.

Я хочу передать эти два массива в javascript, чтобы я мог выполнять итерацию, используя цикл for, и получать значения в файле javascript.

   /**
     * @Route("/home/home-listing")
     */
    public function homeListingAction(Request $request) {

        $em = $this->getDoctrine()->getManager();

        $homes_verified = $em->getRepository('AppBundle:Home')->findBy([
            'is_verified' => true
        ]);

        $queryBuilder = $em->getRepository('AppBundle:Home')->createQueryBuilder('bp')
            ->andWhere('bp.is_verified LIKE :verified')
            ->setParameter('verified', false);
        $query = $queryBuilder->getQuery();

        /**
         * @var $paginator \Knp\Component\Pager\Paginator
         */
        $paginator = $this->get('knp_paginator');

        $homes_not_verified = $paginator->paginate(
            $query, /* query NOT result */
            $request->query->getInt('page', 1) /*page number*/,
            $request->query->getInt('limit', 1) /*limit per page*/
        );

        dump($homes_verified);

        return $this->render('HomeListing/homeListing.html.twig', [
            'homes_verified' => $homes_verified,
            'homes_not_verified' => $homes_not_verified,
            "res" => json_encode($userArray),
        ]);
    }
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
0
556
1

Ответы 1

Не ходи сюда. :)

PHP - это серверная часть, js - клиентский язык. Связь между ними возможна способом, который вы пытаетесь сделать, но на самом деле это не рекомендуется (это вызовет у вас головную боль). Постарайтесь как можно больше отделить php от js.

Передавать данные в js с помощью AJAX, создайте другой маршрут (например / api / homes_veryfied) и по этому маршруту верните в ответ ваши данные в формате json, например

return new JsonResponse(array($homes_veryfied));

в js (в представлении) вызвать созданный маршрут и получить данные оттуда например, вы можете использовать jquery https://api.jquery.com/jquery.get/

Другие вопросы по теме