最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

laravel自定義分頁效果

 更新時間:2017年07月23日 11:49:07   作者:李碩  
這篇文章主要為大家詳細介紹了laravel自定義分頁實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

<?php  
namespace ...;

use ...;
/**
 * 自定義分頁類,適合少數(shù)據(jù)的查詢,多數(shù)據(jù)的時候不推薦
 * Class CustomPaginate
 * @package App\Tools\Paginate
 */
class CustomPaginate
{
  /**
   * 自定義數(shù)組分頁
   * @param $data = 返回結(jié)果
   * @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);
  }

  /**
   * 參數(shù)解釋 對外暴露的方法
   * @param $data = array|collection 切記只支持這兩種
   * @param $page = 當前頁
   * @param $limit = 每一頁展示幾條
   * @return array|false
   * 返回結(jié)果為數(shù)組
   * 調(diào)用實例: 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();         //分頁數(shù)據(jù)轉(zhuǎn)換為數(shù)組

    //上一頁 || 下一頁 => 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;
  }

  /**
   * 驗證參數(shù)是否合法
   */
  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;//"自定義分頁方法只支持數(shù)組數(shù)據(jù)和集合數(shù)據(jù)";
    }
    if (!is_numeric($page) || !is_numeric($limit)) {
      return false;//"page limit 參數(shù)只支持數(shù)字";
    }
    if ($data instanceof Collection) {
      return $data = $data->toArray();
    }
    return $data;
  }

}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • php數(shù)組應(yīng)用之比較兩個時間的相減排序

    php數(shù)組應(yīng)用之比較兩個時間的相減排序

    因網(wǎng)站需要實現(xiàn)兩個時間段的所有小說的收藏,點擊等操作,特把同事寫的代碼收藏下,以后有需要研究
    2008-08-08
  • laravel通過創(chuàng)建自定義artisan make命令來新建類文件詳解

    laravel通過創(chuàng)建自定義artisan make命令來新建類文件詳解

    Laravel通過Artisan提供了強大的控制臺命令來處理非瀏覽器業(yè)務(wù)邏輯。下面這篇文章主要給大家介紹了關(guān)于laravel如何通過創(chuàng)建自定義artisan make命令來新建類文件的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • PHP-FPM和Nginx的通信機制詳解

    PHP-FPM和Nginx的通信機制詳解

    這篇文章主要給大家介紹了關(guān)于PHP-FPM和Nginx通信機制的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • PHP代碼判斷設(shè)備是手機還是平板電腦(兩種方法)

    PHP代碼判斷設(shè)備是手機還是平板電腦(兩種方法)

    隨著互聯(lián)網(wǎng)移動設(shè)備的普及,很多網(wǎng)站都兼容手機端瀏覽,為了更好的讓網(wǎng)頁在手機端顯示,我們都選擇了使用CSS媒體查詢制作響應(yīng)式模版。本文給大家介紹PHP代碼判斷設(shè)備是手機還是平板電腦(兩種方法),感興趣的朋友一起學(xué)習(xí)吧
    2015-10-10
  • php實現(xiàn)批量上傳數(shù)據(jù)到數(shù)據(jù)庫(.csv格式)的案例

    php實現(xiàn)批量上傳數(shù)據(jù)到數(shù)據(jù)庫(.csv格式)的案例

    下面小編就為大家?guī)硪黄猵hp實現(xiàn)批量上傳數(shù)據(jù)到數(shù)據(jù)庫(.csv格式)的案例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Kindeditor編輯器添加圖片上傳水印功能(php代碼)

    Kindeditor編輯器添加圖片上傳水印功能(php代碼)

    這篇文章主要為大家詳細介紹了Kindeditor編輯器加圖片上傳水印功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • PHP學(xué)習(xí)筆記之php文件操作

    PHP學(xué)習(xí)筆記之php文件操作

    這篇文章主要介紹了PHP學(xué)習(xí)筆記之php文件操作 的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • PHP session文件獨占鎖引起阻塞問題解決方法

    PHP session文件獨占鎖引起阻塞問題解決方法

    這篇文章主要介紹了PHP session文件獨占鎖引起阻塞,本文講解PHP使用默認文件會話處理器時容易導(dǎo)致的阻塞問題解決方法,需要的朋友可以參考下
    2015-05-05
  • PHP AOP教程案例

    PHP AOP教程案例

    這篇文章主要介紹了PHP AOP教程案例,本篇文章通過簡要的案例,講解了AOP該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • PHP 獲取MSN好友列表的代碼(2009-05-14測試通過)

    PHP 獲取MSN好友列表的代碼(2009-05-14測試通過)

    感謝druggo提供代碼 放到首頁只是覺得值得大家研究 等有機會把這代碼裝成jsp的
    2009-09-09

最新評論

思南县| 东山县| 抚顺市| 邻水| 左云县| 和田县| 三门县| 苍梧县| 连南| 林州市| 云南省| 芷江| 公主岭市| 大足县| 织金县| 梁平县| 宁都县| 平邑县| 望城县| 蛟河市| 游戏| 周口市| 湘潭县| 乌拉特前旗| 常德市| 阿荣旗| 广水市| 基隆市| 安义县| 乐东| 冕宁县| 兴安盟| 新津县| 三亚市| 河北省| 四川省| 阳原县| 闽清县| 恩平市| 建水县| 东乡|