ThinkPHP数据库操作中对each的用法


ThinkPHP数据库操作中,对数据进行查询时,需要对一些数据进行处理。

比如

某一个字段str_data的值是字符串“1,2,3,4,5”

现在需要把这个字符串修改为数组的形式(a["str_data"]=[1,2,3,4,5])

这种情况如果将查询的后的数据重新循环修改,那会比较繁杂

这种情况下就可以使用each,在查询时对数据进行处理,这样就不会破坏原有的数据格式(比如分页查询时,重新循环可能会破坏数据)

先看一下each的具体内容及解释

/**
 * 给每个元素执行个回调
 *
 * @access public
 * @param  callable $callback
 * @return $this
 */
public function each(callable $callback)
{
    foreach ($this->items as $key => $item) {
        $result = $callback($item, $key);

        if (false === $result) {
            break;
        } elseif (!is_object($item)) {
            $this->items[$key] = $result;
        }
    }
    return $this;
}


使用示例:

$data=Db::name("user")->where('id',"<>", $userId)->select()->each(function ($item,$key){
    $item["str_data"]=explode(",",$item["str_data"]);
    return $item;
});


点赞(0

上一篇: uni-app页面跳转传值

下一篇: ThinkPHP对查询的数据随机排序

本文标签: #ThinkPHP #each

版权声明: 若无特殊注明,本文皆为原创,转载请注明出处。

发布时间: 2020-02-01 13:50

点击总数: 1413

本文作者:97


请登陆后在进行评论


    点击登陆


    文章
    15
    评论
    14
    用户
    43