Дублируется массив верхнего уровня php
Вывожу через foreach всех клиентов
Далее в этом же цикле вывожу платформы
И цикле платформ вывожу проекты
Но чем больше проектов, тем больше клиенты дублирую себя
Как это исправить?
<div class="accordion" id="accordionExample">
<? foreach ($users_klient_db as $users_klient) { ?>
<div class="card border mb-0 shadow-none">
<div class="card-header p-0" id="heading_<?=$users_klient->id ?>">
<button class="btn btn-link text-dark" type="button" data-toggle="collapse" data-target="#collapse_user_all_<?=$users_klient->id ?>" aria-expanded="true" aria-controls="collapse_user_all_<?=$users_klient->id ?>">
<h5 class="my-1">
<?php if ($users_klient->avatar) { ?>
<img src="<?=$users_klient->avatar ?>" alt="Нет изображения" class="thumb-xl rounded-circle">
<?php } else { ?>
<img src="/web/images/users/user-1.jpg" alt="Нет изображения" class="thumb-xl rounded-circle">
<? } ?>
<b><?=$users_klient->name ?></b>
<div class="group"><?=$users_klient->name_company ?></div>
<?php
// Всего проектов у клиента
$project_in_work = NodeProjectKlient::find()
->where(['id_klient' => $users_klient->id])
->count();
?>
<p class="group">проектов в работе: <?=$project_in_work ?></p>
</h5>
</button>
</div>
<div id="collapse_user_all_<?=$users_klient->id ?>" class="collapse" aria-labelledby="heading_<?=$users_klient->id ?>" data-parent="#accordionExample">
<div class="card-body">
<?php
$project_db = ProjectForm::find()
->leftJoin('node_project_klient', '`node_project_klient`.`id_project` = `projects`.`id`')
->where(['node_project_klient.id_klient' => $users_klient->id])
->all();
echo '<ul>';
$all_projects = array();
foreach ($project_db as $project)
{
$platforms_db = PlatformForm::find()
->leftJoin('node_project_platform', '`node_project_platform`.`id_platform` = `platforms`.`id`')
->where(['node_project_platform.id_project' => $project->id])
->all();
foreach ($platforms_db as $platforms)
{
if(!isset($all_projects[$platforms->id]))
{
$all_projects[$platforms->id] = array(
'platform' => $platforms,
'rows' => array(),
);
}
$all_projects[$platforms->id]['rows'][] = $project;
}
}
foreach ($all_projects as $platt) { ?>
<li class="widget_li">
<img src="<?=$platt['platform']->img ?>" alt="Нет изображения" class="thumb-small rounded-circle">
<?=$platt['platform']->title ?>
<?php
foreach ($platt['rows'] as $proj) { ?>
<ol>
<a href="/manager/?project=<?=$proj->id ?>"> <?=$proj->title?></a>
</ol>
<? } ?>
</li>
<? }
echo '</ul>';
?>
</div>
</div>
</div> <!-- end card -->
<? } ?>
</div>
Вот так это выглядит внутри - тут всё правильно
Но вот клиент дублируется