fathom/models/pageview.go

44 lines
723 B
Go
Raw Normal View History

2016-11-21 17:36:25 +01:00
package models
2016-12-10 15:58:54 +01:00
import (
2016-12-11 14:50:01 +01:00
"database/sql"
2016-12-10 15:58:54 +01:00
)
2016-11-21 17:36:25 +01:00
type Pageview struct {
2016-12-11 14:50:01 +01:00
ID int64
PageID int64
VisitorID int64
ReferrerKeyword string
ReferrerUrl string
Timestamp string
}
2016-12-11 14:50:01 +01:00
func (pv *Pageview) Save(conn *sql.DB) error {
// prepare statement for inserting data
stmt, err := conn.Prepare(`INSERT INTO pageviews (
2016-12-10 15:58:54 +01:00
page_id,
visitor_id,
referrer_url,
referrer_keyword,
timestamp
) VALUES( ?, ?, ?, ?, ? )`)
2016-12-11 14:50:01 +01:00
if err != nil {
return err
}
defer stmt.Close()
2016-12-10 15:58:54 +01:00
2016-12-11 14:50:01 +01:00
result, err := stmt.Exec(
pv.PageID,
pv.VisitorID,
pv.ReferrerUrl,
pv.ReferrerKeyword,
pv.Timestamp,
)
if err != nil {
return err
}
2016-12-10 15:58:54 +01:00
2016-12-11 14:50:01 +01:00
pv.ID, err = result.LastInsertId()
return err
}