Правильная рекурсия?
Всем привет!
Есть база данных
| id | parent_id | name | alias |
|---|---|---|---|
| 1 | 0 | одежда | odegda |
| 2 | 1 | мужская | mugskay |
| 3 | 2 | брюки мужские | bruki |
| 3 | 1 | женская | genskay |
| 4 | 3 | брюки женские | брюки |
Подскажите пжл, как сделать правильно рекурсию и собрать для каждой категории полный url, например:
odegda
odegda/mugskay
odegda/mugskay/bruki
odegda/genskay
odegda/genskay/bruki
И каким методом лучше.
от начала parent_id = 0 (тут же как-то надо применить еще ссылку)
как это все записать первым способом?с конца категорий от bruki
foreach ($categories as $cat) {
$srt = $cat->alias; // записываем bridzhi
$item = $categories->firstWhere('id', $cat->parent_id); // находим подкатегорию у bridzhi
while ( !empty($item) ) { //если у bridzhi есть подкатегория
$srt = $item->alias. '/' .$srt; // записываем mugskay/bridzhi
$item = $categories->firstWhere('id', $item->parent_id); // находим подкатегорию у bridzhi mugskay
}
$cat->url = $srt; // odegda/mugskay/bridzhi
}
- видел что некоторые не используют колонку parent_id, место нее другая и в нее записываются id шники - #1#19#43#121. Как думаете по поводу этого способа?