我从laravel开始,并与bootstrap进行了集成。我想做一个菜单栏来获取年份的信息,菜单就是这样来查看的
<li class="dropdown-submenu">
<a tabindex="-1" href="#">2007</a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="<?php echo url('/convenios/2007/registrar', $parameters = array(), $secure = null); ?>">Registrar</a></li>
<li><a href="#">Consultar</a></li>
</ul>
</li>我在一个名为base.blade.php的视图上制作了这个,有没有更好的方法来制作菜单,或者我用正确的方式制作了它?
发布于 2016-04-16 05:06:11
menus 表
id - parent_id - title - url - order - created_at - updated_at

Make Menu 模型
class Menu extends Model
{
public $timestamps = false;
protected $table = 'menus';
protected $fillable = array('parent_id','title','url','order');
public function parent()
{
return $this->belongsTo('App\Menu', 'parent_id');
}
public function children()
{
return $this->hasMany('App\Menu', 'parent_id');
}
}视图中的
@foreach(App\Menu::orderBy('order','asc')->get() as $menuItem)
@if( $menuItem->parent_id == 0 )
<li {{ $menuItem->url ? '' : "class=dropdown" }}>
<a href="{{ $menuItem->children->isEmpty() ? $menuItem->url : "#" }}"{{ $menuItem->children->isEmpty() ? '' : "class=dropdown-toggle data-toggle=dropdown role=button aria-expanded=false" }}>
{{ $menuItem->title }}
</a>
@endif
@if( ! $menuItem->children->isEmpty() )
<ul class="dropdown-menu" role="menu">
@foreach($menuItem->children as $subMenuItem)
<li><a href="{{ $subMenuItem->url }}">{{ $subMenuItem->title }}</a></li>
@endforeach
</ul>
@endif
</li>
@endforeach您可以随心所欲地制作控制器
通过这种方式,我花了一整天的时间试图获得这个工作代码,当我完成后,我决定搜索任何提出这个问题的人
玩得开心:)
https://stackoverflow.com/questions/25188355
复制相似问题