我是新手,我有点困惑,为什么以下:
acccountTypeModelWallet := accounttypes.AccountType{Type: "wallet", Name: "Wallet"}
if db.First(&acccountTypeModelWallet).RecordNotFound() {
fmt.Println("Account Type `Wallet` not found. Creating..")
err := db.Create(&acccountTypeModelWallet).Error
if err != nil {
return false, err
}
}
acccountTypeModelBankAccount := accounttypes.AccountType{Type: "bankaccount", Name: "Bank Account"}
if db.First(&acccountTypeModelBankAccount).RecordNotFound() {
fmt.Println("Account Type `Bank Account` not found. Creating..")
err := db.Create(&acccountTypeModelBankAccount).Error
if err != nil {
fmt.Println(err)
return false, err
}
}
acccountTypeModelExchange := accounttypes.AccountType{Type: "exchange", Name: "Exchange Account"}
if db.First(&acccountTypeModelExchange).RecordNotFound() {
fmt.Println("Account Type `Exchange Account` not found. Creating..")
err := db.Create(&acccountTypeModelExchange).Error
if err != nil {
return false, err
}
}
只将“电子钱包”插入数据库,而不是“银行帐户”和“交换”?执行时不存在任何条目,因此应创建所有条目。
我在这里缺少什么?
答案 0 :(得分:0)
退出查询后我发现错误了。它无条件地查询所有条目。添加.Where()
之后就可以了。
if db.Where(&acccountTypeModelExchange).First(&accounttypes.AccountType{}).RecordNotFound()