laravel排序,分页

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=`
  • ` $('.pagination').append(pre) for(var i=1;i<=pageCount;i++){ if(i==page){ var li=`
  • ${i}(current)
  • ` }else{ var li=`
  • ${i}
  • ` } $('.pagination').append(li) } var next=`
  • ` //下一页 $('.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')
            }
          }
        })
      })
    

    你可能感兴趣的:(laravel分页)