Я пытаюсь получить дерево категорий подкатегории
Допустим, у меня есть подкатегория Аксессуары
в этой подкатегории есть родители из Электроника> Ноутбуки
Так оно и есть Электроника> Ноутбуки> Аксессуары
Стол :
-----------------------------------------
| id | parent_id | name |
|---- |----------- |------------- |
| 1 | 0 | Electronics |
| 2 | 1 | Laptops |
| 3 | 2 | Accessories |
-----------------------------------------
Я могу получить категорию root подкатегории, например:
function getTopParent($category) {
if($category->parent_id === null) {
return $category->name;
}
return getTopParent(App\Category::find($category->parent_id));
// Will return Electronics
}
Также я знаю, как отображать категории, такие как дерево, см. Здесь
function printCategoryName($categories, $parentName = '') {
foreach ($categories as $category) {
$name = $parentName ? implode(' > ', [$parentName, $category->name]) : $category->name;
echo sprintf('%s%s', $name, PHP_EOL);
if (count($category->children) > 0) {
printCategoryName($category->children, $name);
}
}
}
printCategoryName($categories);
Мне нужно указать категорию, такую как Аксессуары , получить дерево и получить дерево категорий для этой подкатегории:
Электроника> Ноутбуки> Аксессуары .
Как мне этого добиться?