row.go 620 B

123456789101112131415161718192021
  1. package callbacks
  2. import (
  3. "github.com/jinzhu/gorm"
  4. "github.com/jinzhu/gorm/clause"
  5. )
  6. func RowQuery(db *gorm.DB) {
  7. if db.Statement.SQL.String() == "" {
  8. db.Statement.AddClauseIfNotExists(clause.Select{})
  9. db.Statement.AddClauseIfNotExists(clause.From{})
  10. db.Statement.Build("SELECT", "FROM", "WHERE", "GROUP BY", "ORDER BY", "LIMIT", "FOR")
  11. }
  12. if _, ok := db.Get("rows"); ok {
  13. db.Statement.Dest, db.Error = db.DB.QueryContext(db.Context, db.Statement.SQL.String(), db.Statement.Vars...)
  14. } else {
  15. db.Statement.Dest = db.DB.QueryRowContext(db.Context, db.Statement.SQL.String(), db.Statement.Vars...)
  16. }
  17. }