Support Get time.Time

This commit is contained in:
Lunny Xiao 2021-06-09 10:15:42 +08:00
parent dbd45f3f8e
commit 2bee370937
2 changed files with 23 additions and 1 deletions

View File

@ -904,3 +904,24 @@ func TestGetDecimal(t *testing.T) {
//assert.True(t, m.Cmp(gf.Money) == 0, "%v != %v", m.String(), gf.Money.String())
}
}
func TestGetTime(t *testing.T) {
type GetTimeStruct struct {
Id int64
CreateTime time.Time
}
assert.NoError(t, PrepareEngine())
assertSync(t, new(GetTimeStruct))
var gts = GetTimeStruct{
CreateTime: time.Now(),
}
_, err := testEngine.Insert(&gts)
assert.NoError(t, err)
var gn time.Time
has, err := testEngine.Table("get_time_struct").Cols(colMapper.Obj2Table("CreateTime")).Get(&gn)
assert.NoError(t, err)
assert.True(t, has)
assert.EqualValues(t, gts.CreateTime.Format(time.RFC3339), gn.Format(time.RFC3339))
}

View File

@ -51,7 +51,8 @@ func (session *Session) get(bean interface{}) (bool, error) {
return false, ErrObjectIsNil
}
if beanValue.Elem().Kind() == reflect.Struct {
_, isTimeStruct := bean.(*time.Time)
if beanValue.Elem().Kind() == reflect.Struct && !isTimeStruct {
if err := session.statement.SetRefBean(bean); err != nil {
return false, err
}