package postgres import ( "video_course/model" ) type User struct { base } func (u User) Create(user *model.User) { sql := `insert into t_user (id, name, create_at) VALUES ($1, $2, $3)` panicExec(u.writeDB().Exec(u.ctx(), sql, user.Id, user.Name, user.CreateAt)) } func (u User) ById(userId int) (user *model.User) { user = &model.User{} sql := `select id, name, create_at from t_user where id = $1 ` panicError( u.writeDB(). QueryRow(u.ctx(), sql, userId). Scan(&user.Id, &user.Name, &user.CreateAt)) return } func (u User) All() (users []*model.User) { sql := `select id, name, create_at from t_user` rows, err := u.writeDB(). Query(u.ctx(), sql) panicError(err) defer rows.Close() for rows.Next() { user := &model.User{} err = rows.Scan(&user.Id, &user.Name, &user.CreateAt) panicError(err) users = append(users, user) } return }