webman不支持illuminate/pagination paginate从get参数中自动获取分页

ontheway

laravel代码:

$per_page = 10;
$users = Db::table('user')->paginate($per_page);

laravel会自动获取get参数里面的page这个参数作为当前页

webman代码:

$per_page = 10;
$users = Db::table('user')->paginate($per_page, '*', 'page', $request->input('page'));

webman测试了,不支持,必须把paginate方法后面的参数补全了,必须手动传$request->input('page')

1454 2 0
2个回答

six
  • 暂无评论
onetobig

其实吧,找个位置注册一下分页处理函数就可以了,例如在 app\bootstrap\LaravelDb.php 里面

...
use Illuminate\Pagination\Paginator;

 */
class LaravelTools implements Bootstrap
{
    /**
     * @param Worker $worker
     *
     * @return void
     */
    public static function start($worker)
    {
       ...
       // 01、注册分页参数
        Paginator::currentPageResolver(function ($pageName = 'page') {
            $page = request()->input($pageName, 1);
            if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int)$page >= 1) {
                return (int)$page;
            }
            return 1;
        });
    }
}
  • ontheway 2022-07-22

    可以,解决问题

  • walkor 2022-07-22

    这个好,这个特性已经放到 workerman/webman-framework v1.3.20,欢迎升级

  • Le 2022-07-22

    这个厉害,很赞

  • ontheway 2022-07-22

    阿里云的composer镜像有点怪,你发布v1.3.19,我只能更新到v1.3.18;你发布了v1.3.20,我就可以更新到v1.3.19了,就是不能更新到最新版

  • ersic 2022-07-22

    借楼问一下,larave 的验证码组件能移植吗,文档里写那个验证码组件不支持8.1

  • 493226876 2023-01-10

    Method Illuminate\Support\Collection::paginate does not exist. in /www/wwwroot/444/webman/vendor/illuminate/macroable/Traits/Macroable.php:113 这个报错应该咋搞呢

年代过于久远,无法发表回答
×
🔝