因此,当我尝试从带有数组的 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,但它不会$case在openingPage()方法中的任何一点分配。当您返回带有名为“cases”的变量的视图时,它没有什么可发送的:
return view('caseopener', ['cases' => $cases]);分配变量 $cases: $cases = $this->getCaseData($id);或返回类变量:
return view('caseopener', ['cases' => $this->data]);添加回答
举报
0/150
	提交
		取消
	