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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM