public function getParent() { if ($this->_parent === null) { $Relations = new Default_Model_Relations(); $Relations->filter->id->equals($this->getParentID()); if ($Relations->count() > 0) { $this->_parent = $Relations->items[0]; } } return $this->_parent; }
public static function unrelateAll($subjectguid, $excludeids = array(), $reverse = false, $reltypesids = array()) { $rels = new Default_Model_Relations(); $f1 = new Default_Model_RelationsFilter(); if ($reverse) { $f1->target_guid->equals($subjectguid); } else { $f1->subject_guid->equals($subjectguid); } if (count($excludeids) > 0) { $f2 = new Default_Model_RelationsFilter(); $f2->id->notin($excludeids); $f1->chain($f2, "AND"); } if (count($reltypesids) > 0) { $f3 = new Default_Model_RelationsFilter(); $f3->reltypeid->in($reltypesids); $f1->chain($f3, "AND"); } $rels->filter->chain($f1, "AND"); if (count($rels->items) === 0) { return true; } try { foreach ($rels->items as $item) { $rels->remove($item); } } catch (Exception $ex) { return $ex->getMessage(); } return true; }