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

来源:博客园 分类: 文章浏览史 发布时间:2021-01-11 18:16:45 最后更新:2021-01-11 浏览:45
转载声明:
本文为摘录自“博客园”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2021-01-11 18:16:45

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


 $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();

php技术微信