示例#1
0
 public static function up(DAOConnected $object, LogicalObject $exp = null)
 {
     $getMethod = 'get' . ucfirst(self::$property);
     Assert::isTrue(method_exists($object, $getMethod));
     $criteria = Criteria::create($object->dao())->addOrder(OrderBy::create(self::$property)->desc())->setLimit(1);
     if ($exp) {
         $criteria->add($exp);
     }
     $oldPosition = $object->{$getMethod}();
     $criteria->add(Expression::lt(self::$property, $oldPosition));
     if ($upperObject = $criteria->get()) {
         DaoUtils::setNullValue(self::$nullValue);
         DaoUtils::swap($upperObject, $object, self::$property);
     }
 }