2019年7月16日 星期二

如何排除 Laravel 問題:Cannot use object of type stdClass as array in Laravel



在使用DB查詢後取得查詢結果時出現這個錯誤Cannot use object of type stdClass as array ...
查了一下,發現在Laravel好像蠻多人都有遇到這個問題

$data = DB::table('users')->where('id',$id)->first();
if($data) {
    $user->isOpen=$datapen=$data['isOpen'];
 }

原以為他是Array,應該直接這樣取值即可,但就是會報錯
去查了一下原來要改用以下方式取值才不會報錯

$data = DB::table('users')->where('id',$id)->first();
if($data) {
    $user->isOpen=$datapen=$data->isOpen;
 }

不知為何原理,變成物件了? 但如果直接用dd  去看又說它是array
還是先記下來,以後有空再深入瞭解。

沒有留言:

張貼留言