因此,當我嘗試從帶有數組的 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
提交
取消
