db.FirstOrCreate 和 db.Where().FirstOrCreate()

// 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,但我无法发现它们之间的区别。有人可以解释


qq_遁去的一_1
浏览 134回答 1
1回答

精慕HU

Gorm 文档并不全面而且有点神秘。据我了解,使用显式 where 和使用 where inside 之间没有区别FirstOrCreate。这个例子的目的是表明你可以使用任何一种方式。如果对象不存在("non_existing" 案例),那么它将执行 INSERT,否则不会。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go