From 42ad00fb92824412a331f9a6a4a6d4613a483154 Mon Sep 17 00:00:00 2001 From: Minho Date: Mon, 10 Jul 2017 16:23:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=A0=E9=99=A4=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=97=B6=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/member.go | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/models/member.go b/models/member.go index 6bffe8f2..b7146896 100644 --- a/models/member.go +++ b/models/member.go @@ -376,11 +376,29 @@ func (m *Member) Delete(oldId int,newId int) error { o.Rollback() return err } - _,err = o.Raw("UPDATE md_relationship SET member_id = ? WHERE member_id = ?",newId,oldId).Exec() - if err != nil { - o.Rollback() - return err + //_,err = o.Raw("UPDATE md_relationship SET member_id = ? WHERE member_id = ?",newId,oldId).Exec() + //if err != nil { + // + // if err != nil { + // o.Rollback() + // return err + // } + //} + var relationship_list []*Relationship + + _,err = o.QueryTable(NewRelationship().TableNameWithPrefix()).Filter("member_id",oldId).All(&relationship_list) + + if err == nil { + for _,relationship := range relationship_list { + if o.QueryTable(relationship.TableNameWithPrefix()).Filter("book_id",relationship.BookId).Exist() { + o.Delete(relationship) + }else{ + relationship.MemberId = newId + o.Update(relationship) + } + } } + if err = o.Commit();err != nil { o.Rollback() return err