Laravel 6关系输出为数组而非对象

Laravel 6关系输出为数组而非对象,laravel,Laravel,在一台支持阵列的pc机上访问关系时,laravel 6.x将以数组而不是对象的形式返回输出,而在另一台pc机上,它仅支持对象 class Category extends Model { public function parent() { return $this->belongsTo(Category::class,'parent_id'); } public function children() { return $thi

在一台支持阵列的pc机上访问关系时,laravel 6.x将以数组而不是对象的形式返回输出,而在另一台pc机上,它仅支持对象

class Category extends Model
{

    public function parent() {
        return $this->belongsTo(Category::class,'parent_id');
    }

    public function children() {
        return $this->hasMany(Category::class,'parent_id');
    }

}

在blade页面上,可按如下方式访问该页面

 @foreach ($categories as $category)
   <tr>

     <td >{{$category->parent['name']}}</td>
   </tr>
 @endforeach
@foreach($categories作为$category)
{{$category->parent['name']}
@endforeach
雄辩的模型可以实现


因此
$category->parent->name
的工作原理应该与
$category->parent['name']
的工作原理相同


它实际上不是一个数组,只是可以像一个数组一样访问。

在我的laravel(6)中,它没有发生,尝试使用上面任何一个方法中的“get()”方法,看看发生了什么,如果是数组将返回错误,如果不是,则返回错误,这意味着laravel的新版本不依赖于“get()”方法。
$category->parent->name
$category->parent['name']
在Laravel中都有效;模型可以通过任何一种语法访问,但首选的方法是对象访问(
->
)。@timleiss,你知道这两种不同问题的原因吗。如何将数组更改为object?如下面的答案所示,它不是数组,除非调用
->toArray()
。我从未见过一种访问方法
->name
与另一种
['name']
不起作用的问题。