Передайте массив сущностей Doctrine от контроллера Symfony к ветке Javascrip - PullRequest
0 голосов
/ 01 мая 2018

Я хочу передать два массива $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),
        ]);
    }

1 Ответ

0 голосов
/ 01 мая 2018

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

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

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

return new JsonResponse(array($homes_veryfied));

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...