public static function InitDBValues($idtm_struktur, $idta_variante, $idta_perioden = '10001') { //Step One, find all relevant IDs $StartRecord = StrukturRecord::finder()->findByidtm_struktur($idtm_struktur); if (count($StartRecord) == 1) { $sql = "SELECT idta_struktur_type FROM tm_struktur WHERE struktur_lft BETWEEN " . $StartRecord->struktur_lft . " AND " . $StartRecord->struktur_rgt . " GROUP BY idta_struktur_type"; //here I recieve the array of values containing the elements to be changed $GroupsToChange = StrukturRecord::finder()->findAllBySQL($sql); foreach ($GroupsToChange as $Group) { $checker = FeldfunktionRecord::finder()->count("idta_struktur_type = ?", $Group->idta_struktur_type); if ($checker > 0) { $sqlElemente = "SELECT idtm_struktur,idta_struktur_type FROM tm_struktur WHERE (struktur_lft BETWEEN " . $StartRecord->struktur_lft . " AND " . $StartRecord->struktur_rgt . ") AND idta_struktur_type=" . $Group->idta_struktur_type; $ElementsToChange = StrukturRecord::finder()->findAllBySQL($sqlElemente); foreach ($ElementsToChange as $Element) { echo $Element->idtm_struktur; $ObjSaver = new PFBackCalculator(); $ObjSaver->setStartPeriod($idta_perioden); $ObjSaver->setVariante($idta_variante); $ObjSaver->setStartNode($Element->idtm_struktur); $ObjSaver->build_DIMKEY($Element->idtm_struktur); $ObjSaver->initTTWerte($Element->idtm_struktur, $Element->idta_struktur_type); unset($ObjSaver); } empty($checker); } } unset($ElementsToChange); } }