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()方法。