commit
91763c8e25
27
table_and_query.go
Normal file
27
table_and_query.go
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
package gorm
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TableAndQuery returns the table name and the query already formatted as a string
|
||||||
|
func (s *DB) TableAndQuery() (string, string) {
|
||||||
|
scope := s.NewScope(s.Value)
|
||||||
|
scope.InstanceSet("skip_bindvar", true)
|
||||||
|
scope.prepareQuerySQL()
|
||||||
|
|
||||||
|
qs := LogFormatter("sql", "q", time.Duration(1), scope.SQL, scope.SQLVars, int64(1))
|
||||||
|
t, q := scope.TableName(), qs[3].(string)
|
||||||
|
if t == "" {
|
||||||
|
qsplit := strings.Fields(strings.ToLower(q))
|
||||||
|
for i := range qsplit {
|
||||||
|
if qsplit[i] == "from" && i < len(qsplit)-2 {
|
||||||
|
t = qsplit[i+1]
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return t, q
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user