Дублируется массив верхнего уровня 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>

Вот так это выглядит внутри - тут всё правильно

http://joxi.ru/Dr8L6j8UKOlpZr

Но вот клиент дублируется

http://joxi.ru/p27d5vktL1pDDA


Ответы (0 шт):