Чем отличаются db.FirstOrCreate и db.Where (). FirstOrCreate ()? - PullRequest
0 голосов
/ 19 марта 2020
// 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, но я не смог определить разницу между ними обоими. Может кто-нибудь объяснить

Документация

1 Ответ

1 голос
/ 30 марта 2020

Документация Gorm не является исчерпывающей и немного крипти c. Насколько я понимаю, нет никакой разницы между использованием явного где и использованием где внутри FirstOrCreate. Цель этого примера - показать, что вы можете использовать любой из этих способов.

Если объекта там нет ("non_existing "case), то он выполнит INSERT, в противном случае он не будет.

...