用户结构体,和订单是一对多的关系
type User struct {
Id int //beego中默认Id为主键,且自增长
Name string //姓名
Age int //年龄
Nickname string //昵称
Userorders []*Userorder `orm:"reverse(many)"`
}
订单结构体,和用户是多对多一的关系
type Userorder struct {
Id int
Orderdata string
User *User `orm:"rel(fk)"`
Products []*Product `orm:"rel(m2m)"`//ManyToMany
}
创建orm对象,插入用户:
func (this *InsertUserController) Get() {
this.TplName = "insertuser.html"
}
func (this *InsertUserController) Post() {
name := this.GetString("name")
age, err := this.GetInt("age")
if err != nil {
this.Ctx.WriteString("插入失败!")
}
nickname := this.GetString("nickname")
user := models.User{Name:name, Age:age, Nickname:nickname}
orm := orm.NewOrm()
//INSERT INTO USER (NAME, age, nickname) VALUE('Alice', 24, 'bb')
n, err := orm.Insert(&user)
if err == nil && n > 0 {
this.Ctx.WriteString("插入成功!")
}else {
this.Ctx.WriteString("插入失败!")
}
}
insertuser.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>插入用户</title>
</head>
<body>
<form action="/insertuser" method="post">
<table>
<thead>插入用户</thead>
<tbody>
<tr>
<td>姓名:</td>
<td>
<input id="name" name="name