$name == null) { if($name == "networks") { $this->networks = []; $productNetworks = ProductNetworkModel::search(['product_id' => $this->id]); foreach($productNetworks as $pnet) { $this->networks[$pnet->network_id] = new Network($pnet->network_id); } return $this->networks; } $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; } public function __clone() { $me = new User; $me->loadMe(); //var_dump($this);exit; $old_id = $this->id; $this->id = null; // cleanup data unset($this->data->name); unset($this->data->type); unset($this->data->displayname); unset($this->data->description); $this->create_by = $me->id; $this->edit_by = $me->id; $this->create = null; $this->edit = null; $this->saved = 0; $this->mode = "new"; $this->_old_data = new StdClass(); $this->log->debug("Cloned ProductAttribute $old_id"); } }