tp5.1+vue 未定义数组索引: 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然后输出报错
image.png
这两句有什么语法错误吗?为什么显示未定义
image.png

阅读 2.7k
2 个回答

select() 换成 find()

建议先学学数组和对象的定义,如何去界定什么是数组什么是对象。
根据你的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']);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题