tp5框架用foreach循环时候报Indirect modification of overloaded element of think\paginator\driver\Bootst错误
thinkphp5使用paginator分页查询数据后,需要foreach便利处理某一字段的数据,会出现类似题目的错误。主要是因为tp5使用分页类读取的数据不是纯数组的格式!所以在循环的时候需要用数据对象的形式进行处理。
例如:
$question_list = db('question')->alias('q')->join('tpt_user u','q.uid=u.id')->field('q.id,q.content,q.time,q.status,q.show,u.phone')->paginate(15); $items = $question_list->items(); foreach ($items as $k => $v){ $items[$k]['phone'] = substr_replace($v['phone'],'****',3,4); } $this->assign('question_list',$question_list); $this->assign('items',$items);
前台使用volist或者foreach处理列表数据时name就是items。
{volist name="items" id="vo"}
{/volist}
分页还是例子中的question_list。这样:{$question_list->render()}