Laravel 中 $object->attribute 和 $object

我正在 Laravel 中使用 DataTables 进行开发,并尝试手动collect()创建一个对象来创建一个集合。当我将集合推入 DataTable 时,出现问题,我无法用这个调用我的对象$object->attribute.


在我得到错误之后,我已经尝试调用一个属性$object['attribute'],并且它运行良好。


有人可以让我了解差异以及如何转换$object['attribute']为$object->attribute?


这是我创建对象的查询


$result = collect();

$item = collect([

         'row' => ($key+1),

         'item_id' => $value->uid,

         'item' => $value->nama_item,

         'sub_kategori' => $value->sub_jenis_item->sub_jenis_item,

         'kategori' => $value->jenis_item->jenis_item,

         'gudang_id' => $id_gudang

]);

$result->push($item);


守着一只汪
浏览 158回答 3
3回答

蝴蝶不菲

访问$object['attribute']手段$object是一个array,访问$object->attribute手段$object是一个object。转换array为object:$object = (object) $object;此外,要转换object为array:$object = (array) $object;

森栏

你可以试试下面的方法   $result = collect();    $item = collect([        'row' => ($key+1),        'item_id' => $value->uid,        'item' => $value->nama_item,        'sub_kategori' => $value->sub_jenis_item->sub_jenis_item,        'kategori' => $value->jenis_item->jenis_item,        'gudang_id' => $id_gudang     ]    );    $result->push($item);    $resultObj = json_decode($result);    foreach($resultObj as $obj){        echo $obj->row;    }
打开App,查看更多内容
随时随地看视频慕课网APP