ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 日常使用thinkPHP6的坑: 1. **报错信息:** Indirect modification of overloaded element of think\\Collection has no effect... 我们再通过select查询出数据后(对象数据),foreach操作时常会出现这个问题。 解决办法: 链式操作的select后面跟上all()。即:... ->select()->all(); 举例: ``` $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() 方法 得出的结果是 对象。通过all()方法转数组。这个是tp5.1保留下来的。当然亦可以用toArray()内置函数。 ``` 2.