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 views,Nested sets laravel和Sub-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 ,但我相信你可以自己调整以满足你的需求。
另请注意,您可能需要首先检查是否有子类别。只要让我知道你是否需要帮助。
百万感谢lukas,投票并接受了答案!我还没有尝试添加第二个foreach循环,并且这没有办法! – cch 2014-11-14 18:48:53
@cchacholiades没问题:) – lukasgeiter 2014-11-14 18:50:05