Symfony 4 twig doctrine, Связывание подменю с выпадающим списком

Сейчас я делаю сайт под symfony. В навигаторе я вызываю с помощью twig содержимое моей базы данных с этим результат. Вот код:

{% for advert in listWorker %}
{% if advert.client != 'xxxxx' %}
<li class = "sidebar-dropdown">
    <a href = "#">
        <span>{{ advert.client }}</span>
    </a>
    <div class = "sidebar-submenu">
        <ul>
            <li>
                <a href = "#">{{ advert.nom }}</a>
            </li>
        </ul>
    </div>
</li>
{% endif %}
{% endfor %}

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

вот мой контролер

Не могли бы вы предоставить образец того, что возвращает $ worker-> findAll (), это поможет.

Elbarto 29.10.2018 15:55

вы используете фреймворк пользовательского интерфейса, например bootstrap? если да, то какая версия?

Pmpr 29.10.2018 16:01

Пожалуйста, не размещайте код как изображения

DarkBee 29.10.2018 17:00
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
3
177
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Не имея исходных данных из вашего $ worker-> findAll (), вот пример с некоторыми фиктивными данными, которые может вернуть symfony:

$db = array(
    '1' => array(
        'client1' => 'name1'
    ),
    '2' => array(
        'client1' => 'name2'
    ),
    '3' => array(
        'client2' => 'name1'
    ),
    '4' => array(
        'client2' => 'name2'
    ),
    '5' => array(
        'client2' => 'name3'
    ),
    '6' => array(
        'client3' => 'name1'
    ),
    '7' => array(
        'client1' => 'name2'
    )
);

Затем вы можете создать новый массив, который перегруппирует все по клиенту:

$final = [];

foreach($db as $item)
{
    $key = key($item);
    $final[$key][] = $item[$key];
}

Как будет выглядеть этот массив:

array(3) {
  ["client1"]=>
  array(3) {
    [0]=>
    string(5) "name1"
    [1]=>
    string(5) "name2"
    [2]=>
    string(5) "name2"
  }
  ["client2"]=>
  array(3) {
    [0]=>
    string(5) "name1"
    [1]=>
    string(5) "name2"
    [2]=>
    string(5) "name3"
  }
  ["client3"]=>
  array(1) {
    [0]=>
    string(5) "name1"
  }
}

Передайте его в представление index.html.twig и повторите по нему. Некоторые материалы для чтения: пруток вложенный цикл

Ваша ссылка на вложенный цикл была тем, что я искал в конце, теперь он работает отлично.

Julian MAILLY 29.10.2018 17:21

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