예제 #1
0
 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;
 }
예제 #2
0
 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;
 }