Массив заказов в массиве Рекурсивный PHP и MYSQL

Это моя таблица БД ИЗОБРАЖЕНИЕ

  1. I Have This code but, the result is this:

    array:2 [▼ 3 => array:1 [▼ 1 => [] ] 4 => array:1 [▼ 5 => array:1 [▼ 6 => array:1 [▼ 7 => [] ] ] ] ]

  2. But i need organize the code like this:

    array:[

    0 => 3, 1 => 1, 2 => 4, 3 => 5, 4 => 6, 5 => 7

    ]

// actually the parameter id is the session user

    public function misSubordinados($id){

    $conn = $this->getEntityManager()->getConnection();
    $sql = 'SELECT s.id_usuario  FROM `sy_supervisores_asesor` AS s
            WHERE s.id_supervisor IN (' . implode(',', [$id]) . ')';
    $stmt = $conn->prepare($sql);
    $stmt->execute();

    $total = array();

    $result = $stmt->fetchAll();

    if (count($result) > 0) {

        foreach ($result as $key => $value) {
                $total[$value['id_usuario']] = $this->misSubordinados($value['id_usuario']);  
        }

    }

    return $total;

    } 

Тогда почему вы вызываете эту функцию рекурсивно? Вобще $total[$value['id_usuario']] = $value['id_usuario']; вместо $total[$value['id_usuario']] = $this->misSubordinados($value['id_usuario']);

HTMHell 26.10.2018 18:09

Потому что у меня есть дочерние элементы таблицы, но у этих детей есть дочерние элементы, и мне нужны идентификаторы иерархии.

kross1992 26.10.2018 18:12

Мне очень любопытно, как выглядят данные таблицы ... И какую версию MySQL вы используете ...

Raymond Nijland 26.10.2018 18:13

Тогда, я думаю, лучше будет справиться с этим в одном запросе MySQL. Покажите нам структуру вашей таблицы с фиктивными данными.

HTMHell 26.10.2018 18:16

Таблица поднята, например, если мой пользователь id_supervisor 2, покажите мне все строки id_usuarios, а затем покажите мне id_usuarios из этих дочерних строк

kross1992 26.10.2018 18:19

Я не уверен, что понимаю. Дайте мне пример ввода и вывода

HTMHell 26.10.2018 18:25

например, у меня $ id = 2; и на выходе будет $ result = array [3,4], и следующий рекурсивный поиск выполнит итерацию, и в результате будут найдены записи с идентификаторами 3 и 4 и т. д.

kross1992 26.10.2018 18:29

я получил спасибо. foreach ($ result as $ key => $ value) {$ total [] = $ value ['id_usuario']; $ total = array_merge ($ total, $ this-> misSubordinados ($ value ['id_usuario‌'])); }

kross1992 26.10.2018 21:08
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
8
52
0

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