无法访问与appServiceProvider

时间:2018-07-10 10:04:28

标签: laravel eloquent relationship

在标题中,我需要使用一些关系。我在appserviceprovider中定义了变量。像这样:

$v_categories = Category::where('parent_id', $v_group->id)->orderBy('order', 'asc')->get();
$view->with('categories', $v_categories);
当我在foreach中使用“类别”时,

在刀片中的工作就像一种魅力。 但是,当我尝试将其与关系一起使用时,它将引发异常。

    Exception
Property [children] does not exist on this collection instance.

这是我的关系:

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

我的问题是我该如何在刀片中使用儿童功能和雄辩的“类别”(来自appServiceProvider)? 有一个问题。但是我不知道为什么吗?任何帮助都会很棒。提前致谢。

1 个答案:

答案 0 :(得分:1)

这是因为您的hasMany关系与get()的结合返回了一个Collection实例,其中包含Category个项目的数组。

因此,您需要遍历这些内容以分别解决它们。

在您看来,请尝试以下操作:

@foreach ($categories as $category)
    @foreach ($category->children as $child_category)
        {{ $child_category->name }}
    @endforeach
@endforeach