解决tp5框架Indirect modification of overloaded element of think\paginator\driver\Bootstrap has no effect错误

浏览601

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

微信截图_20201012113029.png

解决方法:有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()方法。


  • 暂无任何回答