thinkphp5使用paginator分页查询数据后,需要foreach便利处理某一字段的数据,会出现类似题目的错误。

解决方法:有3种,一直是利用模型修改器,另一种是使用each(function($item, $key){})和继续使用foreach
1、each()具体使用方法:
<?php
$article=db('article')
->order('addtime desc')
->paginate(22)->each(function($item, $key){
$item['tags'] = $this->getTags($item['tags']);
return $item;
});
?>2、继续使用foreach
<?php
$article=db('article')->order('addtime desc')->paginate(22);
$items =$article->items();
foreach ($items as $k => $v){
$items[$k]['tags'] = $this->getTags($v['tags']);
}
$this->assign('article',$article);
$this->assign('items',$items);
?>3、模型修改器这里不做介绍,详见:TP5修改器的使用
以上三种方法都可以,不过笔者推荐使用第一种each()方法。