久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

laravel自定義分頁效果

這篇文章主要為大家詳細介紹了laravel自定義分頁實現代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

對于laravel分頁,自帶一個paginate的方法,很好用,但是也是有局限性的。

所以自己針對于此寫了一個自己的分頁,具體代碼如下

<?php  
namespace ...;

use ...;
/**
 * 自定義分頁類,適合少數據的查詢,多數據的時候不推薦
 * Class CustomPaginate
 * @package App\Tools\Paginate
 */
class CustomPaginate
{
  /**
   * 自定義數組分頁
   * @param $data = 返回結果
   * @param $page
   * @param $limit
   * @return mixed
   */
  public static function paginate($data, $page = 1, $limit = 10)
  {
    if (!is_numeric($page) || !is_numeric($limit)) {
      return false;
    }
    $count = count($data);
    $data = array_slice($data, ($page - 1) * $limit, $limit);
    return new LengthAwarePaginator($data, $count, $limit, $page);
  }

  /**
   * 參數解釋 對外暴露的方法
   * @param $data = array|collection 切記只支持這兩種
   * @param $page = 當前頁
   * @param $limit = 每一頁展示幾條
   * @return array|false
   * 返回結果為數組
   * 調用實例: CustomPaginate::paginateToArray($data, $request->page, $request->limit);
   */
  public static function paginateToArray($data, $page = 1, $limit = 10)
  {
    $isValidate = self::validate($data, $page, $limit);           //驗證
    if ($isValidate === false) {
      return false;
    }

    $res = self::paginate($data, $page, $limit)->toArray();         //分頁數據轉換為數組

    //上一頁 || 下一頁 => path
      if ($res['prev_page_url'] != null) {
        $prev_page = $page - 1;
        $res['prev_page_url'] = Paginator::resolveCurrentPath() . "?page=" . $prev_page . "&limit=" . $limit;
      }
      if ($res['next_page_url'] != null) {
        $next_page = $page + 1;
        $res['next_page_url'] = Paginator::resolveCurrentPath() . "?page=" . $next_page . "&limit=" . $limit;
      }
    return $res;
  }

  /**
   * 驗證參數是否合法
   */
  public static function validate(&$data, &$page = 1, &$limit = 10)
  {
    $page = empty($page) ? 1 : $page;
    $limit = empty($limit) ? 10 : $limit;
    if (!is_array($data) && !$data instanceof Collection) {
      return false;//"自定義分頁方法只支持數組數據和集合數據";
    }
    if (!is_numeric($page) || !is_numeric($limit)) {
      return false;//"page limit 參數只支持數字";
    }
    if ($data instanceof Collection) {
      return $data = $data->toArray();
    }
    return $data;
  }

}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

數字條自帶a鏈接標簽代碼和選中效果標簽 數字帶class名稱為 page-num ,當前頁自帶 page-num-current 樣式 !-- 分頁 --{pboot:if({page:rows}0)} div class=pagebar div class=pagination a class=page-item page-link hid
適用范圍:分頁條標簽適用所有執行了分頁的頁面 標簽作用:用于輸出分頁代碼 來源:html5模板網 html5code.net 1、分頁條標簽 {page:bar} 系統內置的完整分頁條 {page:current} 當前頁碼 {page
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇laravel ORM 只開啟created_at的幾種方法總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要給大家介紹了如何通過源碼解析Laravel的依賴注入的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關于Laravel中unique和exists驗證規則的優化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面
主站蜘蛛池模板: 国产精品久久国产愉拍 | 一区视频| 一区二区三区视频 | 能看的av | a国产一区二区免费入口 | 亚洲一区欧美一区 | 日韩一级免费电影 | 成人欧美一区二区三区白人 | 成人一区在线观看 | 亚洲一区中文字幕在线观看 | 国产精品日韩在线观看一区二区 | 国产精品视频在 | 国产成人99久久亚洲综合精品 | 视频一区二区在线观看 | 精品久久久久一区二区国产 | 中文成人在线 | 久久婷婷国产麻豆91 | 午夜影晥| 一区二区三区回区在观看免费视频 | 在线观看国产网站 | 精品久久久久久亚洲综合网 | 中文字幕一级毛片视频 | 国产精品1区2区 | 黄色av一区| 日韩欧美网 | 色www精品视频在线观看 | 精品成人免费一区二区在线播放 | 成人动漫视频网站 | 日韩精品在线一区 | 酒色成人网 | 日韩视频区 | 国产一区二区三区四区 | 亚洲性在线| 成人天堂| www日日日| 欧美日韩在线综合 | 伊人狠狠干 | 亚洲五码久久 | 成人久久18免费网站麻豆 | 黄色骚片 | 国产97视频在线观看 |