#!/usr/bin/php 1]) as $mstrasse) { $master_strassen[$mstrasse->id] = $mstrasse; } while(count($master_strassen)) { echo "count master strassen ".count($master_strassen)."\n"; $strasse = array_shift($master_strassen); //var_dump($strasse); $all_strassen = ADBStrasseModel::search(['gemeinde_id' => $strasse->gemeinde_id, "kennziffer" => $strasse->kennziffer]); if(count($all_strassen) > 1) { //var_dump($all_strassen); $orig_strasse = array_shift($all_strassen); //var_dump($orig_strasse, $all_strassen);exit; $wrong_strasse_ids = []; foreach($all_strassen as $rstrasse) { $wrong_strasse_ids[] = $rstrasse->id; $rstrasse->delete(); } //var_dump($wrong_strasse_ids); foreach(ADBHausnummerModel::search(['strasse_id' => $wrong_strasse_ids]) as $hausnummer) { //var_dump($hausnummer);exit; echo "updating hausnummer ".$hausnummer->id.": strasse_id ".$hausnummer->strasse_id." to ".$orig_strasse->id."\n"; $hausnummer->strasse_id = $orig_strasse->id; $hausnummer->save(); } foreach($wrong_strasse_ids as $wid) { unset($master_strassen[$wid]); } echo "ecount master strassen ".count($master_strassen)."\n"; } $i++; }