欢迎来到电脑知识网
希望你能够在这里获取到你想要了解的知识

thinkphp分页参数丢失问题

2020-07-13 19:26:57


说说thinkphp5升级到thinkphp6遇到的一个小坑,让更多的小伙伴避免踩坑...

以前用的是thinkphp5,最近升级到了6,刚开始的时候没有注意突然有一天在测试的时候发现有一个页面的数据错误了,因为在查询的时候给这个参数加了一个默认的值所以并没有报错,只是查询的数据跳转到了默认的类别上,后来调试的时候按照5的写法怎么都接收不到数据,找度娘问了一下才知道原来6的写法变了.下面贴一下5和6两个版本的paginate用法,算是给大家做个分享吧.


thinkphp5查询方式

Model::where("typeId",$typeId)->paginate(10,false, ['query' => ["typeId"=>2]]);

thinkphp6查询方式

Model::where("typeId",$typeId)->paginate(['list_rows'=>10,'query' => ["typeId"=>$typeId]]);

这里的一个变化是将paginate的参数放到了一个数组中,我不知道作者为什么要做这样的改变,我个人觉得一个框架是给大众用的,如果你每次升级都去改动这些细节,造成老用户升级一次就和重新学习一个框架一样那么这个框架会让用户很头疼的..