解决TP8使用paginate分页报错think\\db\\BaseQuery::paginate(): Argument #1 ($listRows) must be of type array|int|null, string given, called in问题

2024-06-18   阅读:459   类型:后端   分类:TP8    标签: PHP TP8

使用ThinkPHP8分页时报如下错误:

think\\db\\BaseQuery::paginate(): Argument #1 ($listRows) must be of type array|int|null, string given, called in D:\\ProgramFiles\\phpstudy_pro\\WWW\\tp8.cc\\app\\union\\controller\\Role.php on line 44

仔细看下下方代码,看着是没问题的。

//获取每页显示的条数
$limit= $request->param('limit');
//获取当前页数
$page= $request->param('page');
$where=[];
$role_list=Roles::where($where)
    ->order('id', 'desc')
    ->paginate($limit,false,['page'=>$page])
->toArray();

最后发现问题是paginate()中的参数要求是int类型,而$limit接收过来的string类型,这里只要对其进行转换为int即可.

正确的代码如下:

//获取每页显示的条数
$limit= $request->param('limit');
//获取当前页数
$page= $request->param('page');
$where=[];
$role_list=Roles::where($where)
    ->order('id', 'desc')
    ->paginate((int)$limit,false,['page'=>$page])
->toArray()
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/1071.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸一
简忆博客壁纸二
简忆博客壁纸三
简忆博客壁纸四
简忆博客壁纸五
简忆博客壁纸六
简忆博客壁纸七
简忆博客壁纸八
头像

简忆博客
勤于学习,乐于分享

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×