AddressDB/Export: added value cache for address data

This commit is contained in:
Frank Schubert
2023-01-17 15:25:11 +01:00
parent b41b76ecaf
commit 3fe324d762
2 changed files with 18 additions and 5 deletions

View File

@@ -8,11 +8,11 @@ AddressDB_ID;Extref;Adrcd;OAID;Netzgebiet_Extref;Netzgebiet;GKZ;Gemeinde;OKZ;Ort
$line = 0;
while($data = mysqli_fetch_object($res)):
$netzgebiet = new ADBNetzgebiet($data->netzgebiet_id);
$strasse = new ADBStrasse($data->strasse_id);
$gemeinde = new ADBGemeinde($strasse->gemeinde_id);
$ortschaft = new ADBOrtschaft($data->ortschaft_id);
$plz = new ADBPlz($data->plz_id);
$netzgebiet = Layout::getMfValuecacheObject("ADBNetzgebiet", $data->netzgebiet_id);
$strasse = Layout::getMfValuecacheObject("ADBStrasse", $data->strasse_id);
$gemeinde = Layout::getMfValuecacheObject("ADBGemeinde",$strasse->gemeinde_id);
$ortschaft = Layout::getMfValuecacheObject("ADBOrtschaft", $data->ortschaft_id);
$plz = Layout::getMfValuecacheObject("ADBPlz", $data->plz_id);
$freigabe_array = json_decode($data->freigabe);
if(is_array($freigabe_array)) {
$freigabe = join(", ", $freigabe_array);

View File

@@ -42,4 +42,17 @@ class Layout extends mfLayout {
public static function intToDate($int) {
return date("d.m.Y", $int);
}
/*
* Gets mfBaseModel object from Cache or gets in from DB and saves it in Cache
*/
public static function getMfValuecacheObject($objectname, $id) {
$object = mfValuecache::singleton()->get("mfObjectmodel-$objectname-".$id);
if(!$object) {
$object = new $objectname($id);
mfValuecache::singleton()->set("mfObjectmodel-$objectname-".$id, $object);
}
return $object;
}
}