我尝试使用 beego 制作板分页。
所以我确实喜欢这个,
在控制器中
var articles []*models.Board
board.Data["startCount"] = startCount
board.Data["endCount"] = endCount
/* Template Test Query
num, err := o.QueryTable("board").Filter("Idx", 21).OrderBy("-idx").All(&articles)
*/
num, err := o.Raw("SELECT board.* FROM(SELECT @ROWNUM := @ROWNUM + 1 AS ROWNUM, board.* FROM board, (SELECT @ROWNUM := 0) R) board WHERE board.ROWNUM > ?;", 0).QueryRows(&articles)
if num == 0 || err == orm.ErrNoRows {
board.Data["user_error"] = err
}
if err != orm.ErrNoRows && num > 0 {
board.Data["nums"] = num
board.Data["articles"] = articles
}
在查看文件中
<tbody>
{{ if not .articles }}
<tr>
<td colspan="5">No articles.</td>
</tr>
{{ else }}
{{ $uri := .article_uri}}
{{range $articles := .articles}}
<tr>
<td>{{$articles.Idx}}</td>
<td><a href="{{urlfor "BoardController.Content" ":id" $articles.Idx}}">{{$articles.Title}}</a></td>
<td>{{$articles.Nick}}</td>
<td>{{date $articles.Date "y.m.d H:i"}}</td>
<td>0</td>
</tr>
{{ end }}
{{ end }}
</tbody>
当我使用模板测试查询时,我看到了成功打印。
但我只能看到空表,因为已更改为 o.Raw( ... ).QueryRows(&articles)
请有人帮助我..
楷模
type Board struct{
Idx int64 `orm:"pk";form:"-"`
Id string `form:"id"`
Title string `form:"title"`
Body string `form:"content"`
Nick string `form:"nick"`
Date time.Time `orm:"auto_now_add;type(datetime)"`
}