如何 return 我用 Gorm 的 Create() 创建的记录?
How to return the record that I create it with Create() of Gorm?
如何return我用Gorm的Create()创建的记录?
例如,我在下面的代码中用Create()
创建了一个用户:
package main
import (
"apiserver/model"
"fmt"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
)
func main() {
db, err := gorm.Open("postgres", "host=127.0.0.1 port=5432 user=postgres dbname=exampledb password=123 sslmode=disable")
if err != nil {
fmt.Println(err)
}
defer db.Close()
db.AutoMigrate(&model.User{})
user := User{Name: "Jack", Age: 18}
db.Create(&user)
}
我想return这个user
记录,怎么办?
更新:
我需要用 Where()
做吗?像这样:
db.Where("name = ?", "Jack").First(&user)
根据 official docs and Default value section 创建后,您将更新对象内部的所有属性。所以使用你传递给 Create
的对象就足够了
user := User{Name: "Jack", Age: 18}
db.Create(&user)
fmt.Println(user.Name, user.Age)
如何return我用Gorm的Create()创建的记录?
例如,我在下面的代码中用Create()
创建了一个用户:
package main
import (
"apiserver/model"
"fmt"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
)
func main() {
db, err := gorm.Open("postgres", "host=127.0.0.1 port=5432 user=postgres dbname=exampledb password=123 sslmode=disable")
if err != nil {
fmt.Println(err)
}
defer db.Close()
db.AutoMigrate(&model.User{})
user := User{Name: "Jack", Age: 18}
db.Create(&user)
}
我想return这个user
记录,怎么办?
更新:
我需要用 Where()
做吗?像这样:
db.Where("name = ?", "Jack").First(&user)
根据 official docs and Default value section 创建后,您将更新对象内部的所有属性。所以使用你传递给 Create
user := User{Name: "Jack", Age: 18}
db.Create(&user)
fmt.Println(user.Name, user.Age)