Laravel嵌套的foreach循环从自相关模型以树样式显示

时间:2016-11-24 10:41:53

标签: php laravel loops

我有一个与自身相关的类别模型。一个类别可能有多个子类别。每个类别可以是子类别,也可以是父类别。

在刀片中,我想在层次结构或树中显示。但我不知道如果每个类别都有孩子,我该如何检查和显示。我使用foreach循环,但我真的想不到子循环。是否可以显示如下。

 1. Electronic
     1.1 Entertainment
         1.1.1 TV
          1.1.2 DVD
             1.1.2.x there may be more or not
2.Fashion
 2.1 Man
     2.1.1 Top
     2.1.2 Bottom

1 个答案:

答案 0 :(得分:0)

在模型上创建关系。你可以像

那样建立自我关系
public function childs(){
  return $this->hasMany('Category', 'id', 'parent_id');
}

可以Category::with('childs')访问孩子 在视图中你可以做出类似的事情:

@foreach($categories as $c)
  {{$c->title}}
@if($c->childs->count()>0) 
  @foreach($c->childs as $child)
    $child->title
  @endforeach
@endif
@enforeach