最近在做项目的时候,使用到了模糊查询搜索功能,这个功能应该是最常用的功能之一,tp5中已经将分页给封装好了,拿来直接使用即可,就是paginate()函数。下面贴出详细代码来说明其用法。
项目中有一个搜素框,前端代码如下:
<form action="{:url('home/course/search')}" method="post" id="headerformSearch">
<input type="text" value="" id="headerSearchName" name="keywords"
placeholder="请输入要查找的课程">
<a href="javascript:$('#headerformSearch').submit()" type="submit"
title="搜索" class="seach-2-btn"> </a>
</form>
在Course控制器中的search方法内的核心代码如下:
$key = Request::instance()->param('keywords');
if(empty($key)){
$map['cs_state'] = 1;
}else{
$map = [
['cs_state','=', 1],
['cs_name', 'like', '%'.$key.'%'],
];
}
$result = CourseModel::where($map);
$course = $result->order(array("id"=>"desc"))->select();
$page = $result->order(array("id"=>"desc"))
->paginate(4,false,['query'=>request()->param()]);
要达到模糊查询后的分页,只需要在paginate()方法内传递3个参数即可。
Comments