Symfony 3 (доктрина) findAll возвращает мне большой ответ?

Ну .. у меня есть простая сущность, и я пытался получить от нее все записи:

    $em = $this->getDoctrine()->getManager();
    $news = $em->getRepository('AppBundle:Article')->findAll();
    var_dump($news); exit;

Но он возвращает мне очень большой ответ, проверьте изображение ниже:

изображение

Когда я попытался использовать этот фрагмент кода, он вернул мне правильные записи в массиве, но почему findAll не работает правильно, он работает для других объектов?

    $news = $this->getDoctrine()
        ->getRepository('AppBundle:Article')
        ->createQueryBuilder('e')
        ->select('e')
        ->getQuery()
        ->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);

Вместо var_dump($news) используйте дамп Symfony: dump($news). Это упростит чтение вашей дампа, как для вас, так и для нас. Это может помочь вам лучше понять, почему он такой "большой" ...;)

Preciel 29.05.2018 22:04

Хм .. он возвращает мне только одну запись (у меня только одна), так что это правильно, но почему, когда я использую var_dump для других сущностей, он возвращает мне правильный объект .. вероятно, эта сущность - единственная, у кого есть отношения (manyToOne) с другой enity .. xmm

Abdullah Javar 29.05.2018 22:08

Скорее всего, потому что здесь вы возвращаете объект, а не простой массив. Таким образом, помимо данных записи в объекте много данных. Вы также можете сделать дамп в своем представлении ветки, выполнив {{ dump() }}. Последний может быть с параметром или без него. Чем больше будешь пользоваться дампом, тем больше разбираешься в них ...;)

Preciel 29.05.2018 22:12

Он делает то, что делает ORM. Вы определили подход к получению гидратированного результата массива с помощью Query Builder. Это то, что есть.

ficuscr 29.05.2018 22:12

Кстати, для вашего второго фрагмента кода замените getResult() на execute() таким образом, он также предоставит объект, которым будет легче манипулировать ...

Preciel 29.05.2018 22:23

Вы можете гидратировать запрос по умолчанию, используя getArrayResult ()

Juan I. Morales Pestana 29.05.2018 23:10

Не могли бы вы поделиться самыми первыми строчками своего класса AppBundle\Article'? Я имею в виду раздел с этими строками кода class Article { и аннотациями над ним

Pmpr 30.05.2018 07:53

Возможный дубликат Слишком много данных с var_dump в symfony2 doctrine2

john Smith 30.05.2018 09:20

Спасибо всем :)

Abdullah Javar 03.06.2018 17:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
9
483
0

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