久久久久久久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驗證規則的優化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面
主站蜘蛛池模板: jizz18国产 | 国产99久久 | 夜夜爽99久久国产综合精品女不卡 | 东方伊人免费在线观看 | 欧美三区| 亚洲欧美中文字幕在线观看 | 欧美日韩在线免费观看 | 日韩在线免费观看视频 | 国产一二三区电影 | 7777久久 | 久久黄网| 国产福利视频在线观看 | 农夫在线精品视频免费观看 | 黄色在线免费观看视频 | 少妇精品亚洲一区二区成人 | 国产精品视频网 | 91最新视频 | 精品在线视频播放 | 中文字幕精品一区二区三区精品 | 国产一区二区在线视频 | 一级午夜aaa免费看三区 | 91国内外精品自在线播放 | 精品九九九 | 91精品导航 | 人人干天天干 | 国产精品久久久久久久久久久免费看 | 欧美中文字幕一区二区三区亚洲 | 久久综合色综合 | 欧美日韩国产高清 | aaa一区| 一区二区日韩 | 日韩av在线免费 | 国产亚洲一区二区在线观看 | 国产欧美精品一区二区 | 精品99爱视频在线观看 | 自拍偷拍亚洲欧美 | 超碰av人人| 玖玖玖av| a毛片视频网站 | 青春草在线 | 瑞克和莫蒂第五季在线观看 |