基于Thinkphp的ORM的分页方式

ysian

问题描述

  1. 基于Thinkphp的ORM的分页方式
    无须额外安装类库,只要安装过think-orm即可

使用
public function index(Request $request)
{
$per_page = 10;
$users = Db::table('user')->paginate(['list_rows' => $per_page, 'page' => $request->get('page', 1), 'path' => $request->path()]);
return view('index/index', ['users' => $users]);
}
模板(thinkphp)

<html>
<head>
<!-- 内置支持 Bootstrap 分页样式 -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<body>

{$users|raw}

</body>
</html>

我的理解

1.只要安装过think-orm即可
2.在html页面引入bootstrap.min.css,然后在body体 写上{$users|raw},这样就能展示分页的样式了.
我不知道我这样理解对不对,我完成一二步之后且控制器也是根据使用的示例编写的,然后模板渲染页面没有出现分页的样式. 所以来这问下我的理解是否正确

604 1 3
1个回答

adobe

控制器里

// 查询状态为1的用户数据 并且每页显示10条数据
$list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate(10);

// 获取分页显示
$page = $list->render();

return view('index', ['list' => $list, 'page' => $page]);

视图里

<div>
<ul>
{volist name='list' id='user'}
    <li> {$user.nickname}</li>
{/volist}
</ul>
</div>
{$page|raw}

你给的users变量应再使用render转下才能在视图中使用{$users|raw}

  • ysian 2023-08-16

    你的这种方法这是不能用,$page = $list->render(); 这个值我打印出来的为null

年代过于久远,无法发表回答
×
🔝