object_id = $object_id; return true; } public function unsetObjectId() { $this->object_id = null; } public function setValue(Workflowvalue $value) { $this->value = $value; } public function getProperty($name) { if($this->$name == null) { if($name == "value") { if(!$this->object_id) { return null; } $value = mfValuecache::singleton()->get("wfItemvalue-item-".$this->id."-object-".$this->object_id); if($value) { $this->value = $value; return $value; } $value = WorkflowvalueModel::getFirst(['item_id' => $this->id, "object_id" => $this->object_id]); // explicitly cache empty value mfValuecache::singleton()->set("wfItemvalue-item-".$this->id."-object-".$this->object_id, $value); if(!$value) { $vdata['item_id'] = $this->id; $vdata['object_id'] = $this->object_id; $value = WorkflowvalueModel::create($vdata); } $this->value = $value; return $this->value; } $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; } }