$data = UserModel::field('id,name,iphone,is_active,role,img_url,create_time,address')->select();
$data['img_url'] = $this->avatarUrl($data['img_url']);
var_dump($data);输出数组查看存在img_url然后输出报错
这两句有什么语法错误吗?为什么显示未定义
$data = UserModel::field('id,name,iphone,is_active,role,img_url,create_time,address')->select();
$data['img_url'] = $this->avatarUrl($data['img_url']);
var_dump($data);输出数组查看存在img_url然后输出报错
这两句有什么语法错误吗?为什么显示未定义
建议先学学数组和对象的定义,如何去界定什么是数组什么是对象。
根据你的var_dump的结果,如果想读取img_url,应该是$data[0]['img_url'];
直接$data['img_url'];
肯定就报错了。
select();查询返回的是数组,一组人。
find();查询返回的是对象,一个人。
在一个人里面找img_url是能找到的。
在一群人里面找img_url,系统怎么知道该返回哪个人的img_url给你?
所以你需要指定是哪个人的img_url。
$data['img_url'] = $this->avatarUrl($data['img_url']);
改成
foreach ($data as $key => $value) {
$data[$key]['img_url'] = $this->avatarUrl($value['img_url']);
}
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
把
select()
换成find()