diff --git a/Layout/default/AddressDB/export.csv.php b/Layout/default/AddressDB/export.csv.php index 1313ee1e2..c6f3f7979 100644 --- a/Layout/default/AddressDB/export.csv.php +++ b/Layout/default/AddressDB/export.csv.php @@ -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); diff --git a/lib/Layout/Layout.php b/lib/Layout/Layout.php index 385128b59..72ad87147 100644 --- a/lib/Layout/Layout.php +++ b/lib/Layout/Layout.php @@ -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; + } }