public static function addLinks($table, $id, $parents) { self::removeLinks($table, $id); foreach ($parents as $key => $parent) { $link = new TreeLink(['table' => $table, 'id' => $id, 'level' => $key, 'parent_id' => $parent]); $link->save(); } }
public static function setPaths($group, $parents) { if (!$group) { return; } $parents = array_merge([$group->id], $parents); TreeLink::addLinks(self::tableName(), $group->id, $parents); $children = $group->findAll(['parent_id' => $group->id]); if ($children) { foreach ($children as $child) { self::setPaths($child, $parents); } } }