MCPcopy Index your code
hub / github.com/TruthHun/BookStack / FindForHomeToPager

Method FindForHomeToPager

models/book.go:515–551  ·  view source on GitHub ↗

分页查找系统首页数据.

(pageIndex, pageSize, member_id int, orderType string)

Source from the content-addressed store, hash-verified

513
514//分页查找系统首页数据.
515func (m *Book) FindForHomeToPager(pageIndex, pageSize, member_id int, orderType string) (books []*BookResult, totalCount int, err error) {
516 o := orm.NewOrm()
517
518 offset := (pageIndex - 1) * pageSize
519 //如果是登录用户
520 if member_id > 0 {
521 sql1 := "SELECT COUNT(*) FROM md_books AS book LEFT JOIN md_relationship AS rel ON rel.book_id = book.book_id AND rel.member_id = ? WHERE relationship_id > 0 OR book.privately_owned = 0"
522 err = o.Raw(sql1, member_id).QueryRow(&totalCount)
523 if err != nil {
524 return
525 }
526
527 sql2 := `SELECT book.*,rel1.*,member.account AS create_name FROM md_books AS book
528 LEFT JOIN md_relationship AS rel ON rel.book_id = book.book_id AND rel.member_id = ?
529 LEFT JOIN md_relationship AS rel1 ON rel1.book_id = book.book_id AND rel1.role_id = 0
530 LEFT JOIN md_members AS member ON rel1.member_id = member.member_id
531 WHERE rel.relationship_id > 0 OR book.privately_owned = 0 ORDER BY order_index DESC ,book.book_id DESC LIMIT ?,?`
532
533 _, err = o.Raw(sql2, member_id, offset, pageSize).QueryRows(&books)
534 return
535 }
536
537 count, errCount := o.QueryTable(m.TableNameWithPrefix()).Filter("privately_owned", 0).Count()
538 if errCount != nil {
539 err = errCount
540 return
541 }
542 totalCount = int(count)
543
544 sql := `SELECT book.*,rel.*,member.account AS create_name FROM md_books AS book
545 LEFT JOIN md_relationship AS rel ON rel.book_id = book.book_id AND rel.role_id = 0
546 LEFT JOIN md_members AS member ON rel.member_id = member.member_id
547 WHERE book.privately_owned = 0 ORDER BY order_index DESC ,book.book_id DESC LIMIT ?,?`
548
549 _, err = o.Raw(sql, offset, pageSize).QueryRows(&books)
550 return
551}
552
553//分页全局搜索.
554func (m *Book) FindForLabelToPager(keyword string, pageIndex, pageSize, memberId int) (books []*BookResult, totalCount int, err error) {

Callers

nothing calls this directly

Calls 2

TableNameWithPrefixMethod · 0.95
CountMethod · 0.45

Tested by

no test coverage detected