db.FirstOrCreate 和 db.Where().FirstOrCreate() 有何不同?
How do db.FirstOrCreate and db.Where().FirstOrCreate() differ?
// 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
的文档,但我无法找出两者之间的区别。
谁能解释一下
Gorm 文档不全面而且有点含糊。根据我的理解,显式使用 where 和使用 where inside FirstOrCreate
没有区别。此示例的目的是表明您可以使用任何一种方式。
如果对象不存在("non_existing
" 情况)那么它将执行 INSERT,否则它不会。
// 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
的文档,但我无法找出两者之间的区别。
谁能解释一下
Gorm 文档不全面而且有点含糊。根据我的理解,显式使用 where 和使用 where inside FirstOrCreate
没有区别。此示例的目的是表明您可以使用任何一种方式。
如果对象不存在("non_existing
" 情况)那么它将执行 INSERT,否则它不会。