| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package models
- import (
- "github.com/lifei6671/godoc/conf"
- "github.com/astaxie/beego/orm"
- )
- type Relationship struct {
- RelationshipId int `orm:"pk;auto;unique;column(relationship_id)" json:"relationship_id"`
- MemberId int `orm:"column(member_id);type(int)" json:"member_id"`
- BookId int `orm:"column(book_id);type(int)" json:"book_id"`
- // RoleId 角色:0 创始人(创始人不能被移除) / 1 管理员/2 编辑者/3 观察者
- RoleId int `orm:"column(role_id);type(int)" json:"role_id"`
- }
- // TableName 获取对应数据库表名.
- func (m *Relationship) TableName() string {
- return "relationship"
- }
- func (m *Relationship) TableNameWithPrefix() string {
- return conf.GetDatabasePrefix() + m.TableName()
- }
- // TableEngine 获取数据使用的引擎.
- func (m *Relationship) TableEngine() string {
- return "INNODB"
- }
- // 联合唯一键
- func (u *Relationship) TableUnique() [][]string {
- return [][]string{
- []string{"MemberId", "BookId"},
- }
- }
- func NewRelationship() *Relationship {
- return &Relationship{}
- }
- func (m *Relationship) FindForRoleId(book_id ,member_id int) (int,error) {
- o := orm.NewOrm()
- relationship := NewRelationship()
- err := o.QueryTable(m.TableNameWithPrefix()).Filter("book_id",book_id).Filter("member_id",member_id).One(relationship)
- if err != nil {
- return 0,err
- }
- return relationship.RoleId,nil
- }
- func (m *Relationship) Insert() error {
- o := orm.NewOrm()
- _,err := o.Insert(m)
- return err
- }
- func (m *Relationship) Update() error {
- o := orm.NewOrm()
- _,err := o.Update(m)
- return err
- }
|