Laravel嵌套导航

Laravel嵌套导航

问题描述:

我正在创建类别和子类别的嵌套导航。我在BaseController中有一个构造函数,该构造函数将一个变量共享给从类别模型返回所有​​内容的视图。Laravel嵌套导航

基本控制器

public function __construct() { 
     $this->beforeFilter(function() { 
       View::share('catnav', Category::all()); 
     }); 
} 

到目前为止,我能够显示的类别的名称和对象的子类别,像这样的数组:

@foreach($catnav as $cat) 
<li>{{ HTML::link('/store/category/'.$cat->id, $cat->name) }} 
    <ul> 
     <li>{{ HTML::link('/store/category/'.$cat->id, $cat->subcategories) }}</li> 
    </ul> 
</li> 
@endforeach 

上面具有的输出:

- Category Name 
    - [{"id":6,"category_id":2,"name":"Electric","created_at":"2014-11-14 15:13:23","updated_at":"2014-11-14 15:13:23"},{"id":7,"category_id":2,"name":"Acoustic","created_at":"2014-11-14 15:13:26","updated_at":"2014-11-14 15:13:26"}] 
- Another Category Name 

问题:

  • 如何访问嵌套数组的名称属性?
  • 这是要创建子类别导航?

我已经看过Access nested array within laravel viewsNested sets laravelSub-categories display under Main categories

如果它的级别数量有限,你可以添加另一foreach

@foreach($catnav as $cat) 
    <li>{{ HTML::link('/store/category/'.$cat->id, $cat->name) }} 
     <ul> 
      @foreach($cat->subcategories as $subcat) 
       <li>{{ HTML::link('/store/category/'.$cat->id.'/sub/'.$subcat->id, $subcat->name) }}</li> 
      @endforeach 
     </ul> 
    </li> 
@endforeach 

对于我只是做了猜测实际的URL ,但我相信你可以自己调整以满足你的需求。
另请注意,您可能需要首先检查是否有子类别。只要让我知道你是否需要帮助。

+0

百万感谢lukas,投票并接受了答案!我还没有尝试添加第二个foreach循环,并且这没有办法! – cch 2014-11-14 18:48:53

+0

@cchacholiades没问题:) – lukasgeiter 2014-11-14 18:50:05