예제 #1
0
 /**
  * 可回滚的版本设置
  *
  * @return int
  */
 private function _enableRollBack()
 {
     $where = ' status = :status AND project_id = :project_id ';
     $param = [':status' => Task::STATUS_DONE, ':project_id' => $this->task->project_id];
     $offset = Task::find()->select(['id'])->where($where, $param)->orderBy(['id' => SORT_DESC])->offset($this->conf->keep_version_num)->limit(1)->scalar();
     if (!$offset) {
         return true;
     }
     $where .= ' AND id <= :offset ';
     $param[':offset'] = $offset;
     return Task::updateAll(['enable_rollback' => Task::ROLLBACK_FALSE], $where, $param);
 }