169 похожих чатов

Добрый день. Подскажите как исполнить? У пользователей в базе есть

поле parent_id. С помощью рекурсии я собрал массив с нужной мне структурой. Ключ - это айдишник пользователя, значение - его дети. примерно такой:
1 => [
23 => 0,
24 => [
34 => 0,
25 => 0,
65 => [
77 => 0
]
]
]

Как мне во вьюхе теперь отобразить дерево пользователей, если уровень вложенности неизвестен?

5 ответов

20 просмотров

Сделай компонент в который передавай значения Реализация компонента приблизительно такая если значения уже пользователь выводи его, если массив компонент вызывает сам себя и передает туда этот массив

foreach

рекурсия, очевидно. Но… У меня недавно тоже достался проект и там много деревьев было на базе. Рекурсивные запросы по базе дают большую нагрузку если их реализовывать средствами eloquent. Есть такая штука как CTE для свежих DBMS (mysql>8, mariadb>10.3...) С ними можно разобраться и это мощный инструмент, но запросы получаются хоть и многоэтажные однако быстрые. Стяпать их в RAW тяжело руками, но есть пакет, который большинство хотелок покрывает. Посмотрите https://github.com/staudenmeir/laravel-adjacency-list/tree/v1.9.5

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта