为什么说这是2呢,因为之前我有写过一篇 同样是tp5分页后的数据修改的文章,请参考 https://blog.csdn.net/qq_39702981/article/details/104854741
这次是采用了更加简便的方法,其实具体官方文档也有,只是官方5.0有些bug,楼主在此补充说明一下。此次补充参照tp官方论坛,非楼主发现的bug。
描述
看过之前写的那一篇的都知道,那种方法是采用 将paginate() 之后的数据 转成数组赋值给一个新的数组,然后foreach 这个新数组来修改,这样修改起来篇幅比较长,而且不好理解。所以还是老实使用官方的each来修改, 注意,tp5.0 的each 循环有bug,并不能实际修改或增加 paginate 分页后的对象数据,所以:
第一步:找到 \thinkphp\library\think\Collection.php 下面定义的 each 方法
/**
* 给每个元素执行个回调
*
* @param callable $callback
* @return $this
*/
public function each(callable $callback)
{
foreach ($this->items as $key => $item) {
if ($callback($item, $key) === false) {
break;
}
}
return $this;
}