【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