Обновить
0
0

Пользователь

Отправить сообщение

Было бы ещё хорошо, если бы промпты к каждому этапу написали

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

Ну ок, по уровню можно чуть изменить логику, а что по ресурсозатраности? Я не очень силен в этом, но разве поиск оператором like не будет тяжёлее для бд, по сравнению поиска по индексированному id?

Вот такой рекурсией разве не проще будет? Всего будет 22 запроса в вашем случае

function db_get($query) {
    // для получения данных из БД
}

function get_childs($ids) {
    $res = [];
    $get_ids = db_get('select id from users where parent_id in (' . implode(',', $ids) . ')');
    if ($get_ids) {
        $res = array_merge($res, $get_ids, get_childs($get_ids));
    }
    return $res;
}

print_r(get_childs([1]));

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность