Fix tests for Scanner

This commit is contained in:
Jinzhu 2014-08-30 23:08:58 +08:00
parent 6271cf0e55
commit c6b1669c6a
3 changed files with 6 additions and 7 deletions

View File

@ -9,8 +9,8 @@ type BasePost struct {
}
type HNPost struct {
BasePost `gorm:"embedded"`
Upvotes int32
BasePost
Upvotes int32
}
type EngadgetPost struct {

View File

@ -338,16 +338,15 @@ func (scope *Scope) fieldFromStruct(fieldStruct reflect.StructField) []*Field {
field.IsNormal = true
}
case reflect.Struct:
embedded := settings["EMBEDDED"]
if embedded != "" {
if field.IsTime() || field.IsScanner() {
field.IsNormal = true
} else if embedded := settings["EMBEDDED"]; strings.ToUpper(embedded) == "EMBEDDED" || (embedded == "" && fieldStruct.Anonymous) {
var fields []*Field
for _, field := range scope.New(field.Field.Addr().Interface()).Fields() {
field.DBName = field.DBName
fields = append(fields, field)
}
return fields
} else if field.IsTime() || field.IsScanner() {
field.IsNormal = true
} else {
if foreignKey == "" && scope.HasColumn(field.Name+"Id") {
field.Relationship = &relationship{ForeignKey: field.Name + "Id", Kind: "belongs_to"}

View File

@ -26,7 +26,7 @@ type User struct {
Latitude float64
Languages []Language `gorm:"many2many:user_languages;"`
CompanyId int64
Company
Company Company
Role
PasswordHash []byte
IgnoreMe int64 `sql:"-"`