码迷,mamicode.com
首页 > 其他好文 > 详细

TP5报如下的错误 Indirect modification of overloaded element of think\paginator\Collection has no effect【转】

时间:2020-07-03 17:11:12      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:状态   不能   over   htm   文件中   volist   赋值   mod   dir   

控制器中关键代码如下:

// 查询状态为1的用户数据 并且每页显示10条数据
$list = Db::name(‘user‘)->where(‘status‘,1)->paginate(10);
// 把分页数据赋值给模板变量list
$this->assign(‘list‘, $list);
// 渲染模板输出
return $this->fetch();

模板文件中分页输出代码如下:

<div>
<ul>
{volist name=‘list‘ id=‘user‘}
       <li> {$user.nickname}</li>
{/volist}
</ul>
</div>
{$list->render()}

上面的方法非常简单,但是如果我想在查询出来的数据中加入新的值的,上面的方法就不能用了,当你尝试对$list进行循环的时候,会报如下的错误

Indirect modification of overloaded element of think\paginator\Collection has no effect

这是因为$list不是一个数组,而是数据集对象think\Collection

下面是处理方法

// 查询状态为1的用户数据 并且每页显示10条数据
$list = Db::name(‘user‘)->where(‘status‘,1)->paginate(10);
// 获取分页显示
$page = $list->render();
$data = $list->all();
foreach($data as $key=>$val){
   $data[$key][‘key‘] = $key;
}
$this->assign(‘data‘, $data);
$this->assign(‘page‘, $page);
// 渲染模板输出
return $this->fetch();

模板文件中分页输出代码如下:

<div>
    <ul>
        {volist name=‘data‘ id=‘user‘}
        <li>{$user.nickname}</li>
        {volist}
    </ul>
</div> 

原文链接:http://blog.sina.com.cn/s/blog_4cd978f90102yelk.html

TP5报如下的错误 Indirect modification of overloaded element of think\paginator\Collection has no effect【转】

标签:状态   不能   over   htm   文件中   volist   赋值   mod   dir   

原文地址:https://www.cnblogs.com/KillBugMe/p/13231331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!