From f4b783f0ca5cffcb035cc71482530cf175f17e4f Mon Sep 17 00:00:00 2001 From: daitingting Date: Tue, 3 Apr 2018 13:52:28 +0800 Subject: [PATCH] * Optimize the order for condition of 'where'. --- module/project/model.php | 10 +++++----- module/task/model.php | 16 ++++++++-------- module/user/model.php | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/module/project/model.php b/module/project/model.php index 91c5a58c5f..dab9497da0 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -1283,8 +1283,8 @@ class projectModel extends model { $role = $this->dao->select('*')->from(TABLE_TEAM) ->where('root')->eq($preProjectID) - ->andWhere('account')->eq($account) ->andWhere('type')->eq('project') + ->andWhere('account')->eq($account) ->fetch(); $role->root = $projectID; @@ -1625,8 +1625,8 @@ class projectModel extends model return $this->dao->select('account, role, hours') ->from(TABLE_TEAM) ->where('root')->eq($project) - ->andWhere('account')->notIN($currentMembers) ->andWhere('type')->eq('project') + ->andWhere('account')->notIN($currentMembers) ->fetchAll('account'); } @@ -1659,8 +1659,8 @@ class projectModel extends model $this->dao->update(TABLE_TEAM) ->data($member) ->where('root')->eq((int)$projectID) - ->andWhere('account')->eq($account) ->andWhere('type')->eq('project') + ->andWhere('account')->eq($account) ->exec(); } else @@ -1684,7 +1684,7 @@ class projectModel extends model */ public function unlinkMember($projectID, $account) { - $this->dao->delete()->from(TABLE_TEAM)->where('root')->eq((int)$projectID)->andWhere('account')->eq($account)->andWhere('type')->eq('project')->exec(); + $this->dao->delete()->from(TABLE_TEAM)->where('root')->eq((int)$projectID)->andWhere('type')->eq('project')->andWhere('account')->eq($account)->exec(); } /** @@ -2090,7 +2090,7 @@ class projectModel extends model if($this->app->user->admin) return true; /* Get all teams of all projects and group by projects, save it as static. */ - $projects = $this->dao->select('root, limited')->from(TABLE_TEAM)->where('account')->eq($this->app->user->account)->andWhere('limited')->eq('yes')->andWhere('type')->eq('project')->orderBy('root asc')->fetchPairs('root', 'root'); + $projects = $this->dao->select('root, limited')->from(TABLE_TEAM)->where('type')->eq('project')->andWhere('account')->eq($this->app->user->account)->andWhere('limited')->eq('yes')->orderBy('root asc')->fetchPairs('root', 'root'); $_SESSION['limitedProjects'] = join(',', $projects); } diff --git a/module/task/model.php b/module/task/model.php index aab15e3d4e..b3605936b0 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -258,7 +258,7 @@ class taskModel extends model $this->computeWorkingHours($tasks->parent[0]); if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchCreate'); - if($parentID) $this->updateParentStatus($taskID); + if($parentID && !empty($taskID)) $this->updateParentStatus($taskID); return $mails; } @@ -817,8 +817,8 @@ class taskModel extends model $newTeamInfo->left = 0; $this->dao->update(TABLE_TEAM)->data($newTeamInfo) ->where('root')->eq($taskID) - ->andWhere('account')->eq($oldTask->assignedTo) ->andWhere('type')->eq('task') + ->andWhere('account')->eq($oldTask->assignedTo) ->exec(); $newTask = new stdClass(); @@ -945,8 +945,8 @@ class taskModel extends model $myConsumed = $this->dao->select('`consumed`')->from(TABLE_TEAM) ->where('root')->eq($taskID) - ->andWhere('account')->eq($task->assignedTo) ->andWhere('type')->eq('task') + ->andWhere('account')->eq($task->assignedTo) ->fetch('consumed'); $newTeamInfo = new stdClass(); @@ -954,14 +954,14 @@ class taskModel extends model $newTeamInfo->left = $left; $this->dao->update(TABLE_TEAM)->data($newTeamInfo) ->where('root')->eq($taskID) - ->andWhere('account')->eq($task->assignedTo) ->andWhere('type')->eq('task') + ->andWhere('account')->eq($task->assignedTo) ->exec(); $teamTime = $this->dao->select("sum(`consumed`) as consumed,sum(`left`) as leftTime")->from(TABLE_TEAM) ->where('root')->eq((int)$taskID) - ->andWhere('account')->in($teams) ->andWhere('type')->eq('task') + ->andWhere('account')->in($teams) ->fetch(); $data->consumed = $teamTime->consumed; $data->left = $teamTime->leftTime; @@ -1050,8 +1050,8 @@ class taskModel extends model $myConsumed = $this->dao->select("`consumed`")->from(TABLE_TEAM) ->where('root')->eq((int)$taskID) - ->andWhere('account')->eq($oldTask->assignedTo) ->andWhere('type')->eq('task') + ->andWhere('account')->eq($oldTask->assignedTo) ->fetch('consumed'); if($task->consumed < $myConsumed) die(js::error($this->lang->task->error->consumedSmall)); @@ -1060,14 +1060,14 @@ class taskModel extends model $data->consumed = $task->consumed; $this->dao->update(TABLE_TEAM)->data($data) ->where('root')->eq((int)$taskID) - ->andWhere('account')->eq($oldTask->assignedTo) ->andWhere('type')->eq('task') + ->andWhere('account')->eq($oldTask->assignedTo) ->exec(); $myTime = $this->dao->select("sum(`left`) as leftTime,sum(`consumed`) as consumed")->from(TABLE_TEAM) ->where('root')->eq((int)$taskID) - ->andWhere('account')->in($teams) ->andWhere('type')->eq('task') + ->andWhere('account')->in($teams) ->fetch(); $newTask = new stdClass(); diff --git a/module/user/model.php b/module/user/model.php index d505916c33..f061c0238a 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -832,8 +832,8 @@ class userModel extends model { $projects = $this->dao->select('t1.*,t2.*')->from(TABLE_TEAM)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.root = t2.id') - ->where('t1.account')->eq($account) - ->andWhere('t1.type')->eq('project') + ->where('t1.type')->eq('project') + ->andWhere('t1.account')->eq($account) ->andWhere('t2.deleted')->eq(0) ->fetchAll();