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-10 14:16:05 +01:00
|
|
|
}
|
|
|
|
|
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
|
|
|
|
}
|