0
想象我有2层结构:填充片与被引用的对象一起
type Order struct {
ID int64 `gorm:"primary_key"`
CurrentStateID int64
CurrentState *OrderState
}
type OrderState struct {
ID int64
.... // other fields
}
现在我想使给定的orderIDs
片搜索,并有Order
充满CurrentState
领域分得一杯羹。
我现在的解决方案非常难看,因为我首先获取所有没有状态的订单,然后将状态ID排列到切片中并由其进行搜索。之后,我遍历一个for循环遍历订单并匹配订单和状态。像
var (
states []*State
orders []*Orders
)
//searches are done here
for _, order := range orders {
for _, state := range states {
if order.CurrentStateID == state.ID {
order.CurrentState = state
break
}
}
}