Merge pull request #305 from jnfeinstein/master

Fields are cached when withRelation, so they should only be accessed when withRelation.
This commit is contained in:
Jinzhu 2014-11-28 08:33:11 +08:00
commit 1cb6e5664e
1 changed files with 3 additions and 2 deletions

View File

@ -411,10 +411,11 @@ func (scope *Scope) fieldFromStruct(fieldStruct reflect.StructField, withRelatio
// Fields get value's fields // Fields get value's fields
func (scope *Scope) Fields(noRelations ...bool) map[string]*Field { func (scope *Scope) Fields(noRelations ...bool) map[string]*Field {
if scope.fields != nil { var withRelation = len(noRelations) == 0
if withRelation && scope.fields != nil {
return scope.fields return scope.fields
} }
var withRelation = len(noRelations) == 0
var fields = map[string]*Field{} var fields = map[string]*Field{}
if scope.IndirectValue().IsValid() && scope.IndirectValue().Kind() == reflect.Struct { if scope.IndirectValue().IsValid() && scope.IndirectValue().Kind() == reflect.Struct {