Fix
This commit is contained in:
parent
59521246d3
commit
3b77cdd808
19
session.go
19
session.go
|
@ -649,7 +649,20 @@ func (session *Session) convertBeanField(col *schemas.Column, fieldValue *reflec
|
||||||
session.cascadeMode == cascadeCompitable) ||
|
session.cascadeMode == cascadeCompitable) ||
|
||||||
(col.AssociateType == schemas.AssociateBelongsTo &&
|
(col.AssociateType == schemas.AssociateBelongsTo &&
|
||||||
session.cascadeMode == cascadeEager)) {
|
session.cascadeMode == cascadeEager)) {
|
||||||
var pk = make(schemas.PK, len(col.AssociateTable.PrimaryKeys))
|
var associateTable *schemas.Table
|
||||||
|
if col.AssociateType == schemas.AssociateNone && col.AssociateTable == nil {
|
||||||
|
var err error
|
||||||
|
associateTable, err = session.engine.tagParser.ParseWithCache(*fieldValue)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
associateTable = col.AssociateTable
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("=====", associateTable)
|
||||||
|
|
||||||
|
var pk = make(schemas.PK, len(associateTable.PrimaryKeys))
|
||||||
var err error
|
var err error
|
||||||
pk[0], err = asKind(vv, reflect.TypeOf(scanResult))
|
pk[0], err = asKind(vv, reflect.TypeOf(scanResult))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -659,14 +672,16 @@ func (session *Session) convertBeanField(col *schemas.Column, fieldValue *reflec
|
||||||
session.afterProcessors = append(session.afterProcessors, executedProcessor{
|
session.afterProcessors = append(session.afterProcessors, executedProcessor{
|
||||||
fun: func(session *Session, bean interface{}) error {
|
fun: func(session *Session, bean interface{}) error {
|
||||||
fieldValue := bean.(*reflect.Value)
|
fieldValue := bean.(*reflect.Value)
|
||||||
|
fmt.Println("3333333")
|
||||||
return session.getStructByPK(pk, fieldValue)
|
return session.getStructByPK(pk, fieldValue)
|
||||||
},
|
},
|
||||||
session: session,
|
session: session,
|
||||||
bean: fieldValue,
|
bean: fieldValue,
|
||||||
})
|
})
|
||||||
session.cascadeLevel--
|
session.cascadeLevel--
|
||||||
|
fmt.Println("222222")
|
||||||
return nil
|
return nil
|
||||||
} else if col.AssociateType == schemas.AssociateBelongsTo {
|
} else if col.AssociateType == schemas.AssociateBelongsTo && session.cascadeMode == cascadeLazy {
|
||||||
pkCols := col.AssociateTable.PKColumns()
|
pkCols := col.AssociateTable.PKColumns()
|
||||||
colV, err := pkCols[0].ValueOfV(fieldValue)
|
colV, err := pkCols[0].ValueOfV(fieldValue)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue