Показать многомерный массив в ветке - PullRequest
0 голосов
/ 24 января 2019

У меня есть запрос в DQL, который в ответ генерирует многомерный массив следующим образом:

enter image description here

Как мне показать это на экране веточкой?

1 Ответ

0 голосов
/ 29 января 2019

Это моё решение.Благодаря помощи DarkBee я увидел это решение https://stackoverflow.com/a/34402216/2400373, которое адаптируется к моей проблеме.Здесь возникают другие проблемы, которые я объясняю

Мой DQL такой:

$dql="SELECT c,o
      FROM BackendBundle:Orders o
      JOIN o.users u
      JOIN BackendBundle:Customer c
      WITH u.email =  c.billEmail
      where o.orderid='$var'";

После того, как необходимо добавить расширение ветки:

//src/AppBundle/Twig/AppExtension.php
<?php
// src/AppBundle/Twig/AppExtension.php
namespace AppBundle\Twig;

class AppExtension extends \Twig_Extension
{
    public function getFilters()
    {
        return array(
            new \Twig_SimpleFilter('cast_to_array', array($this, 'objectFilter')),
        );
    }

    public function objectFilter($stdClassObject) {
        // Just typecast it to an array
        $response = (array)$stdClassObject;

        return $response;
    }
}

После в ветке:

{% for key, value in ordenes|cast_to_array %}
     <td id="col" class="hidden-xs">{{ value }}</td>
{% endfor %}

Другие проблемы в моих сущностях Мне нужно добавить __toString ... например:

public function __toString()
{
   return (string)$this->getBillEmail();
}

С этим уже работает.спасибо, помогите

...