久久久久久久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在线播放网站 | 黄网免费观看 | 日韩精品免费在线观看 | 欧美丰满少妇 | 日韩一级在线 | 国产精品一区二区三区不卡 | 四虎影院永久免费 | 欧美日韩国产在线 | 亚洲精品在线免费 | 国产精品久久免费 | 午夜视频网站 | 国语对白永久免费 | 日韩成人综合 | 日韩在线视频一区 | 国产av毛片| 国产在线成人 | 自拍偷拍专区 | 欧美成人小视频 | 亚洲欧美视频在线观看 | 福利小视频在线观看 | 9.1成人看片 | 日韩视频在线观看免费 | 国产无遮挡又黄又爽免费网站 | 免费一级毛片 | 亚洲狠狠干 | 天天爱天天操 | 婷婷色综合 | 深夜福利网址 | 亚洲网站在线观看 | 日韩视频专区 | 欧美日韩在线不卡 | 97自拍视频 | 天天干天天操天天干 | 久草福利在线观看 | 免费看a级片 | www亚洲精品 | 色av导航 | 久久久久久艹 | 夜夜夜夜操 |