Tp5.1.30对以往版本有很大的改进。
$list = Db:name('表名')->paginate(10); 返回的不再是数组。是一个collection. 以往我们对已取得的数据插入新字段名称时用到foreach
tp5.1.x 结果报错 Indirect modification of overloaded element of think\paginator\driver\Bootstrap has no effect
解决办法:
//省略前部分代码.......
$list = Db::name('ads')
->where($whr)
->paginate(10,false,[
'query'=> Request::param()
]);
$list_copy = $list->toArray(); //把原list转换成数组,并且copy一份
foreach ($list_copy['data'] as $k=>$v){
$list_copy['data'][$k]['class_name_cn'] = $this->getClassName($v['class_id']);
}
$this->assign('list',$list); //前台使用此变量完成分页和手册一样
$this->assign('lsit_copy',$list_copy); //注意前台使用此变量进行数据循环,
模版部分
volist name='使用复制的list'
分页使用默认的list
{$list|raw}