summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/issue.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/models/issue.go b/models/issue.go
index 625374faaf..fd59ac0a4b 100644
--- a/models/issue.go
+++ b/models/issue.go
@@ -2043,17 +2043,17 @@ func deleteIssue(ctx context.Context, issue *Issue) error {
}
// delete actions assigned to this issue
- var comments []int64
- if err := e.Table(new(Comment)).In("issue_id", issue.ID).Cols("id").Find(&comments); err != nil {
+ subQuery := builder.Select("`id`").
+ From("`comment`").
+ Where(builder.Eq{"`issue_id`": issue.ID})
+ if _, err := e.In("comment_id", subQuery).Delete(&Action{}); err != nil {
return err
}
- for i := range comments {
- if _, err := e.Where("comment_id = ?", comments[i]).Delete(&Action{}); err != nil {
- return err
- }
- }
- if _, err := e.Table("action").Where("repo_id = ?", issue.RepoID).In("op_type", ActionCreateIssue, ActionCreatePullRequest).
- Where("content LIKE ?", strconv.FormatInt(issue.ID, 10)+"|%").Delete(&Action{}); err != nil {
+
+ if _, err := e.Table("action").Where("repo_id = ?", issue.RepoID).
+ In("op_type", ActionCreateIssue, ActionCreatePullRequest).
+ Where("content LIKE ?", strconv.FormatInt(issue.ID, 10)+"|%").
+ Delete(&Action{}); err != nil {
return err
}