package models // Author holds infos about an author type Author struct { ID int64 `xorm:"int(11) autoincr not null unique pk"` Forename string `xorm:"varchar(250)"` Lastname string `xorm:"varchar(250) not null"` Created int64 `xorm:"created"` Updated int64 `xorm:"updated"` } // TableName returns the table name for struct author func (Author) TableName() string { return "authors" } // AuthorBook holds the relation between an author and a books type AuthorBook struct { ID int64 `xorm:"int(11) autoincr not null unique pk"` AuthorID int64 `xorm:"int(11)"` BookID int64 `xorm:"int(11)"` Created int64 `xorm:"created"` Updated int64 `xorm:"updated"` } // TableName returns the name for the relation author <-> book func (AuthorBook) TableName() string { return "authors_books" } // GetAuthorByID gets information about an author by its ID func GetAuthorByID(id int64) (author Author, exists bool, err error) { has, err := x.Id(id).Get(&author) return author, has, err }