Symfony 4细枝原则,将子菜单关联到下拉列表
我目前正在做一个网站下symfony。在nav中,我用twig调用数据库的内容。 代码如下:Symfony 4细枝原则,将子菜单关联到下拉列表,symfony,doctrine,twig,Symfony,Doctrine,Twig,我目前正在做一个网站下symfony。在nav中,我用twig调用数据库的内容。 代码如下: {% for advert in listWorker %} {% if advert.client != 'xxxxx' %} <li class="sidebar-dropdown"> <a href="#"> <span>{{ advert.client }}</span> </a> <div
{% 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 %}
{%用于listWorker%中的广告]
{%if advert.client!=“xxxxx”}
-
{%endif%}
{%endfor%}
但是,我希望结果看起来像,我真的不知道如何将名称与同一列表中的相同客户端关联
下面是我的缺少$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视图并对其进行迭代。一些阅读材料:你能提供一个$worker->findAll()返回的示例吗,这会有所帮助。你使用的是ui框架吗,比如bootstrap?如果是哪一个版本?请不要以图片的形式发布代码。最后我一直在寻找嵌套循环的链接,现在它工作得很好。