国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

laravel自定義分頁效果

2024-05-04 23:58:55
字體:
來源:轉載
供稿:網友

對于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;  }}

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


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 融水| 宝丰县| 麦盖提县| 沙雅县| 鸡西市| 阳东县| 梓潼县| 靖安县| 天等县| 崇文区| 辽源市| 肥城市| 辉县市| 大足县| 汾阳市| 萨嘎县| 凤冈县| 沙洋县| 雅安市| 贺州市| 锡林郭勒盟| 松阳县| 铅山县| 台安县| 招远市| 大足县| 攀枝花市| 汾阳市| 温泉县| 巴彦淖尔市| 若羌县| 五台县| 定州市| 英吉沙县| 滦南县| 东兰县| 湛江市| 白河县| 杭锦旗| 天等县| 当阳市|