【thinkphp6】Indirect modification of overloaded element of think\Collection has no effect

背景: 在进行查询并循环时候 报错
错误代码


 $data_list = Db::name("activity")
            ->where('id',1)
            ->select();
        if(!empty($data_list)){
            foreach ($data_list as $key => $value) {
                $company_mes = $CompanyModel->get_company_mes($value['company_id']);
                $data_list[$key]['company_name'] = $company_mes['company_name'];
                $data_list[$key]['company_logo'] = $company_mes['company_logo'];

            }
        }

原因就是: 此时用select() 方法 得出的结果是 对象。 打印一下 data_list

解决办法: 再加一句下边代码,在进行循环处理


$data_list = $data_list->all();

或者直接在 链接查询后边 追加 一下 : select()->all();

posted @ 2020-01-03 14:16  依然范儿特西  阅读(1664)  评论(0编辑  收藏  举报