update issues 2927
This commit is contained in:
parent
7ea143b548
commit
8257509bc4
@ -322,7 +322,9 @@ func (scope *Scope) handleManyToManyPreload(field *Field, conditions []interface
|
|||||||
preloadDB = preloadDB.Where(preloadConditions[0], preloadConditions[1:]...)
|
preloadDB = preloadDB.Where(preloadConditions[0], preloadConditions[1:]...)
|
||||||
}
|
}
|
||||||
|
|
||||||
rows, err := preloadDB.Rows()
|
preScope := preloadDB.NewScope(preloadDB.Value)
|
||||||
|
rows, err := preScope.rows()
|
||||||
|
defer preScope.trace(NowFunc())
|
||||||
|
|
||||||
if scope.Err(err) != nil {
|
if scope.Err(err) != nil {
|
||||||
return
|
return
|
||||||
@ -330,7 +332,9 @@ func (scope *Scope) handleManyToManyPreload(field *Field, conditions []interface
|
|||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
|
|
||||||
columns, _ := rows.Columns()
|
columns, _ := rows.Columns()
|
||||||
|
preScope.db.RowsAffected = 0
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
|
preScope.db.RowsAffected++
|
||||||
var (
|
var (
|
||||||
elem = reflect.New(fieldType).Elem()
|
elem = reflect.New(fieldType).Elem()
|
||||||
fields = scope.New(elem.Addr().Interface()).Fields()
|
fields = scope.New(elem.Addr().Interface()).Fields()
|
||||||
|
12
scope.go
12
scope.go
@ -934,8 +934,6 @@ func (scope *Scope) updatedAttrsWithValues(value interface{}) (results map[strin
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (scope *Scope) row() *sql.Row {
|
func (scope *Scope) row() *sql.Row {
|
||||||
defer scope.trace(NowFunc())
|
|
||||||
|
|
||||||
result := &RowQueryResult{}
|
result := &RowQueryResult{}
|
||||||
scope.InstanceSet("row_query_result", result)
|
scope.InstanceSet("row_query_result", result)
|
||||||
scope.callCallbacks(scope.db.parent.callbacks.rowQueries)
|
scope.callCallbacks(scope.db.parent.callbacks.rowQueries)
|
||||||
@ -944,8 +942,6 @@ func (scope *Scope) row() *sql.Row {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (scope *Scope) rows() (*sql.Rows, error) {
|
func (scope *Scope) rows() (*sql.Rows, error) {
|
||||||
defer scope.trace(NowFunc())
|
|
||||||
|
|
||||||
result := &RowsQueryResult{}
|
result := &RowsQueryResult{}
|
||||||
scope.InstanceSet("row_query_result", result)
|
scope.InstanceSet("row_query_result", result)
|
||||||
scope.callCallbacks(scope.db.parent.callbacks.rowQueries)
|
scope.callCallbacks(scope.db.parent.callbacks.rowQueries)
|
||||||
@ -994,10 +990,13 @@ func (scope *Scope) pluck(column string, value interface{}) *Scope {
|
|||||||
scope.Search.Select(column)
|
scope.Search.Select(column)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer scope.trace(NowFunc())
|
||||||
rows, err := scope.rows()
|
rows, err := scope.rows()
|
||||||
if scope.Err(err) == nil {
|
if scope.Err(err) == nil {
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
|
scope.db.RowsAffected = 0
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
|
scope.db.RowsAffected++
|
||||||
elem := reflect.New(dest.Type().Elem()).Interface()
|
elem := reflect.New(dest.Type().Elem()).Interface()
|
||||||
scope.Err(rows.Scan(elem))
|
scope.Err(rows.Scan(elem))
|
||||||
dest.Set(reflect.Append(dest, reflect.ValueOf(elem).Elem()))
|
dest.Set(reflect.Append(dest, reflect.ValueOf(elem).Elem()))
|
||||||
@ -1027,7 +1026,12 @@ func (scope *Scope) count(value interface{}) *Scope {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
scope.Search.ignoreOrderQuery = true
|
scope.Search.ignoreOrderQuery = true
|
||||||
|
defer scope.trace(NowFunc())
|
||||||
scope.Err(scope.row().Scan(value))
|
scope.Err(scope.row().Scan(value))
|
||||||
|
if !scope.HasError() {
|
||||||
|
scope.db.RowsAffected++
|
||||||
|
}
|
||||||
|
|
||||||
return scope
|
return scope
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user