为了账号安全,请及时绑定邮箱和手机立即绑定

不能使用 stdClass 类型的对象作为数组 Laravel 错误

不能使用 stdClass 类型的对象作为数组 Laravel 错误

倚天杖 2021-11-13 14:59:44
因此,当我尝试从带有数组的 DB 中检索数据时,出现此错误“无法使用 stdClass 类型的对象作为数组”我的控制器public function openingPage($id) {      $this->getCaseData($id);      return view('caseopener', ['cases' => $cases]);    }    private function getCaseData($id) {        $cases = DB::table('cases')->where('id', $id)->first();        $data = @$cases[0] ? $cases[0] : array();        if(isset($data->items)) {            $data->items = json_decode($data->items, true);        }        $this->data = $data;    }我也看到问题来自这一行: $data = @$cases[0] ? $cases[0] : array();
查看完整描述

1 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

您没有为$cases要返回到视图的变量分配任何内容。所以在这一行:

 $this->getCaseData($id);

您调用下面的函数 set $this->data,但它不会$caseopeningPage()方法中的任何一点分配。当您返回带有名为“cases”的变量的视图时,它没有什么可发送的:

return view('caseopener', ['cases' => $cases]);

分配变量 $cases: $cases = $this->getCaseData($id);或返回类变量:

return view('caseopener', ['cases' => $this->data]);


查看完整回答
反对 回复 2021-11-13
  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信