因此,当我尝试从带有数组的 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
提交
取消