1.排序
1.1正序
//排序从小到大(正序)
$res = Post::all()->sortBy('id')->values();
1.2倒序
//排序从大到小(倒序)
$res = Post::all()->sortByDesc('id')->values();
2.分页
2.1每页显示几条数据
$res=Post::skip(5)->take(5)->get();
skip是跳过几条(从第几条显示)
take是一页里取几条(可以固定)
$page=页码
$pageSize=每页显示的行数
skip的参数的值=($page-1)*$pageSize
ake的参数的值=$pageSize
$page=1;
$pageSize=5;
$strat=($page-1)*$pageSize;
$res=Post::skip($strat)->take($pageSize)->get();
2.2获取分页的数据
//获取总页数
$this->pageCount();
return response()->json([
'data'=>$res,
'pageCount'=>$this->pageCount
]);
}
//获取总页数
public function pageCount(){
$count= Post::all()->count();
$this->pageCount=$count % $this->pageSize==0 ? $count/$this->pageSize:floor($count/$this->pageSize)+1;
}
2.3当前页码数
//声明一个变量表示当前页码
var page=1
2.4清除数据
防止循环点击一次页数增加一次页数,所以清除数据
// 清除tbody 中的数据
$('tbody tr').remove()
2.5显示分页标签
//显示分页标签(淡入)
$('nav').fadeIn(500)
//显示分页标签(淡出)
$('nav').fadeOut(500)
2.6 渲染页码
function loadPage(pageCount){
//清空原有的分页标签
$('.pagination li').remove()
//上一页
var pre=`<li>
<a href="#" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
`
$('.pagination').append(pre)
for(var i=1;i<=pageCount;i++){
if(i==page){
var li=` <li class="active" data-page="${i}"><a href="#">${i}<span class="sr-only">(current)</span></a></li>`
}else{
var li=` <li data-page="${i}"><a href="javascript:void 0">${i}</a></li>`
}
$('.pagination').append(li)
}
var next=`<li>
<a href="#" aria-label="Previous">
<span aria-hidden="true">»</span>
</a>
</li>`
//下一页
$('.pagination').append(next)
}
2.7动态创建分页超链接添加单击事件
$('.pagination').on('click','li',function(event){
//阻止默认行为
event.preventDefault()
// console.log(1)
//改变page变量的值
page=$(this).data('page')
loadData()
})
//添加文章
$('#btn-save').on('click', function () {
var data = { title: $('#title').val(), content: $('#content').val() }
$.ajax({
url: 'http://127.0.0.1:8000/posts',
type: "post",
data: data,
dataType: 'json',
success: function (res) {
if (res.error == 0) {
// 重新加载数据
loadData();
// 关闭模态框
$('#myModal').modal('hide')
}
}
})
})