gpt4 book ai didi

go - db.FirstOrCreate和db.Where()。FirstOrCreate()有何区别?

转载 作者:行者123 更新时间:2023-12-01 22:15:22 26 4
gpt4 key购买 nike

// Unfound
db.FirstOrCreate(&user, User{Name: "non_existing"})
//// INSERT INTO "users" (name) VALUES ("non_existing");
//// user -> User{Id: 112, Name: "non_existing"}
// Found
db.Where(User{Name: "Jinzhu"}).FirstOrCreate(&user)
//// user -> User{Id: 111, Name: "Jinzhu"}

嗨,我阅读了 gorm的文档,但是我无法发现两者之间的区别。
有人可以解释

Documentation

最佳答案

Gorm文档不全面,有点含糊。据我了解,在FirstOrCreate中使用显式where和在where中没有区别。此示例的目的是表明您可以使用任何一种方法。

如果对象不存在("non_existing情况),它将执行INSERT,否则将不执行。

关于go - db.FirstOrCreate和db.Where()。FirstOrCreate()有何区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60760097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com