Exemplo n.º 1
0
 public function getResourceAttributeVersions($criteria = null, $con = null)
 {
     include_once 'plugins/sfPropelVersionableBehaviorPlugin/lib/model/om/BaseResourceAttributeVersionPeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collResourceAttributeVersions === null) {
         if ($this->isNew()) {
             $this->collResourceAttributeVersions = array();
         } else {
             $criteria->add(ResourceAttributeVersionPeer::RESOURCE_VERSION_ID, $this->getId());
             ResourceAttributeVersionPeer::addSelectColumns($criteria);
             $this->collResourceAttributeVersions = ResourceAttributeVersionPeer::doSelect($criteria, $con);
         }
     } else {
         if (!$this->isNew()) {
             $criteria->add(ResourceAttributeVersionPeer::RESOURCE_VERSION_ID, $this->getId());
             ResourceAttributeVersionPeer::addSelectColumns($criteria);
             if (!isset($this->lastResourceAttributeVersionCriteria) || !$this->lastResourceAttributeVersionCriteria->equals($criteria)) {
                 $this->collResourceAttributeVersions = ResourceAttributeVersionPeer::doSelect($criteria, $con);
             }
         }
     }
     $this->lastResourceAttributeVersionCriteria = $criteria;
     return $this->collResourceAttributeVersions;
 }
 public static function retrieveByPKs($pks, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria();
         $criteria->add(ResourceAttributeVersionPeer::ID, $pks, Criteria::IN);
         $objs = ResourceAttributeVersionPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
 /**
  * Returns all ResourceVersion instances related to the object, ordered by version asc.
  * 
  * @param      BaseObject   $resource
  * @return     array        List of BaseObject objects
  */
 public function getAllVersions(BaseObject $resource)
 {
     $c = new Criteria();
     $c->add(ResourceVersionPeer::RESOURCE_ID, $resource->getPrimaryKey());
     $c->add(ResourceVersionPeer::RESOURCE_NAME, get_class($resource));
     $c->add(ResourceVersionPeer::NUMBER, null, Criteria::ISNOTNULL);
     $c->addAscendingOrderByColumn(ResourceVersionPeer::NUMBER);
     $c->addJoin(ResourceAttributeVersionPeer::RESOURCE_VERSION_ID, ResourceVersionPeer::ID);
     $attributes = ResourceAttributeVersionPeer::doSelect($c);
     $objects = array();
     $object = null;
     $class = get_class($resource);
     $current_id = null;
     foreach ($attributes as $attribute) {
         if ($attribute->getResourceVersionId() != $current_id) {
             if ($object) {
                 $objects[] = $object;
             }
             $current_id = $attribute->getResourceVersionId();
             $object = new $class();
         }
         $attrib_name = $attribute->getAttributeName();
         $setter = sprintf('set%s', $attrib_name);
         if (!method_exists($resource, $setter)) {
             $msg = sprintf('Impossible to set attribute "%s" on resource "%s"', $attrib_name, get_class($resource));
             throw new Exception($msg);
         }
         $object->{$setter}($attribute->getAttributeValue());
     }
     $objects[] = $object;
     return $objects;
 }