Генерация массива Nested Sets

252
07 января 2018, 07:28

Есть рабочая функция на Yii2, которая принимает на вход количество узлов в дереве и на основе этого параметра генерирует массив виде дерева - Nested Sets и инсертит его в БД.

    public static function generationTree($componentGeneration){
    $tree = new Tree();
    $tree->deleteAll();
    $parentEl = 0;
    for($i=1; $i<=$componentGeneration*$componentGeneration; $i++){
        $tree = new Tree(['id' => "$i", 'name' => "$i", 'url' => "$i"]);
        $tree->parent = $parentEl;
        if($tree->parent == 0){
            $tree->makeRoot();
        }
        else{
            if($tree->parent > $componentGeneration){
                $q = Tree::find()->andWhere(['id' => rand(1,$tree->parent)])->one();
            }
            else{
                $q = Tree::find()->andWhere(['id' => $tree->parent])->one();
            }
            $tree->prependTo($q);
        }
        $parentEl++;
    }
    $tree->save();
}

Подскажите плиз как эту функцию по уму переписать?

READ ALSO
Проблема с циклом while

Проблема с циклом while

ПриветЕсть такая проблема

197
Выполнение js после получения сервером post запроса

Выполнение js после получения сервером post запроса

Имеется telegram бот для авторизации пользователейПользователь нажимает кнопку авторизации на сайте, получает токен, отправляет его боту

271
Конвертация строки в Mongo BSON ObjectId?

Конвертация строки в Mongo BSON ObjectId?

В базе хранится значение в виде Mongo BSON ObjectId("5a500d59f796314bd969fda6")Оттуда оно попадает в форму на сайте и автоматически преобразуется в строку

229
Как в WordPress изменить шрифт заголовка выводимой статьи?

Как в WordPress изменить шрифт заголовка выводимой статьи?

Привет!У меня есть сайт на WordPressМне нужно изменить шрифт заголовка статьи

298