首页 > 解决方案 > 无法从 Laravel 中的集合中获取数据

问题描述

我想从集合中获取数据,当我运行此代码时,我在集合中得到以下两个数组:

{{ dd($child_categories->children) }}

在此处输入图像描述

在此处输入图像描述

当我转储 dd($child_categories 我得到:

在此处输入图像描述

我想通过循环获取数据,因为我正在使用以下代码:

代码:

类别存储库:

public function getChildCategories($id)
{
    return Category::with('children')->find($id); 
}

类别型号:

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

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

类别控制器:

public function show($slug)
    {
        $category = $this->categoryRepository->findBySlug($slug);
        $child_categories=$this->categoryRepository->getChildCategories($category->id); 
        return view('site.pages.category', compact('category','child_categories'));
    }

看法:

 @foreach ($child_categories as $index => $element)
  {{$element->name}}
@endforeach

标签: laravellaravel-5eloquent

解决方案


更新您在此行中显示功能:

$child_categories=$this->categoryRepository->getChildCategories($category->id)->get(); 

然后尝试:

@foreach ($child_categories->children as $element)
  {{$element->name}}
@endforeach

推荐阅读