firstname && $this->lastname) { $name = $this->firstname . " " . $this->lastname; } elseif($this->lastname) { $name = $this->lastname; } elseif($this->firstname) { $name = $this->firstname; } return $name; } private function loadAddresstypes() { if(!$this->id) { return false; } $this->types = AddresstypeModel::search(['address_id' => $this->id]); } public function getProperty($name) { if($this->$name == null) { if($name == "types") { $this->loadAddresstypes(); return $this->types; } $classname = ucfirst($name); $idfield = $name."_id"; $this->$name = new $classname($this->$idfield); if($this->$name->id) { return $this->$name; } else { return null; } } return $this->$name; } }