Как написать категорию и подкатегорию с foreach? - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть таблица категорий базы данных, с 3 полями id, name, cate. И я помещаю это в массив для моего бедного англи sh

Ответы [ 2 ]

0 голосов
/ 03 апреля 2020
foreach ($select as $value) { //selecting each row/element
    $cate = $value['cate']; //grabbing column values
    $name = $value['name'];
    If($cate == 1){ //no need of cate == main cate id
       echo $name." is a main";
    }else{
       echo $name." is a sub";
    }             
}
0 голосов
/ 03 апреля 2020

это мое решение:

$categoriesHierchy = [];
foreach ($categories as $mainCategory) {
    $childNode = [
        'id' => $mainCategory->getID(),
        'polishName' => $mainCategory->getPolishName(),
        'children' => findChildrenOfCategory($mainCategory)
    ];
    array_push($categoriesHierchy, $childNode);
}

public function findChildrenOfCategory($category)
{
    $children = [];
    if (count($category->getChildren()) > 0) {
        foreach ($category->getChildren() as $child) {
            $childCategories = findChildrenOfCategory($child);
            $childNode = [
                'id' => $child->getID(),
                'polishName' => $child->getPolishName(),
                'children' => $childCategories
            ];
            array_push($children, $childNode);
        }
    }
    return $children;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...